「IT、ガジェットなど」カテゴリーアーカイブ

Processing礼賛

初めてのProcessing 第2版趣味のコーディングということで、pythonの機械学習ものやらC#のUnityやらいろいろ雑然とやっているけれど(笑)、最近はとりわけこれに凝っている。Processing。Alife系で刺激をもらったので、それに合った作業環境を探そうと思い、すぐに遭遇した。基本的にはjavaやpythonによるデジタルアート作成系のフレームワークという感じで、とっつきもよいし、作業のスタイルも好みに合っている。これまで個人的にjavaはあまり好きでない言語だったが、それは結局、周辺的な手続きが煩雑で、簡単な処理を簡単にかけないように思えたから。けれどもこのフレームワークなら、余計な手続きが不要で、実行したい処理をいきなり書くことができる印象。

というわけで、ネットに転がっているサンプルなども活用しつつ、とりわけ次の書籍でもって練習中。ダニエル・シフマン『初めてのProcessing 第2版』(尼岡利崇訳、オライリージャパン、2018)。個人的に、とりあえずは多少とも複雑なジェネラティブアートに取り組めるところまでもっていくことが目標。

雑感:WSL環境

世間的には連休初日だということもあり、とりあえずITがらみの雑文でお茶を濁そう。このところ実に久々に、OSのインストールから設定への流れを楽しんでいるところ。

2週間ほど前、古いiMac(2009モデル)にWindows10を入れるというのをやってみた。win10のディクスイメージをCD-ROMに焼き、そちらからブートしてインストール。古いMacOS(El Capitan)付属のBootcampユーティリティからドライバを拝借しそれらもインストール。時間はそれなりにかかったが、これで無事に古いiMacでWin10が立ち上がる。ただ、キーボードはMac仕様なので使いにくく、そのためネットで対処法を探し、レジストリなどを少々いじったりしてカスタマイズしたりした。久しぶりのインストール作業は面倒ではあったけれど、それなりに楽しい(笑)。

さらにその後、今度はWSL(Windows Subsystem for Linux)を有効にして、Windows環境にLinux環境をこしらえてみた。前に別のwinマシンのWSLにUbuntuを入れてみたことがあったので、今回は有償で出ていたPengwinパッケージ(Debianベース)とX410を入れてみた。合わせて3000円(期間限定?)なり。そちらもインストール自体は簡単だけれど、その後のカスタマイズではそれなりに時間がかかった。大きな問題はいくつかあり、そのうちの1つが日本語フォント導入後のgtk-3.0。メニューその他の表示(文字やアイコン)がとにかく大きすぎて、そのままでは使えない。けれどもどこで設定するのか探すのに手間取る。ホーム下の.configディレクトリから、gtk-3.0ディレクトリ下のsettings.iniでフォントは変更できるけれど、openboxディレクトリ内のrc.xmlも編集しないといけないことがわかるまで、ああでもないこうでもないと結構時間をロスした。

日本語入力も、fcitx-mozcの導入で入力自体はできるものの、GUIでのemacsはもとより、geditやleafpadといった軽量エディタでも、あるいはfirefoxでもインライン入力ができないという問題に遭遇。fcitxの設定で直るという情報はあちこちにあったのだけれど、何度やっても有効にならない。ところが昨日、何かの拍子にいきなりインライン入力ができるようになった(emacs以外)。なぜいきなり直ったのか不明。タイミングとしてはwindows用キーボードを別途使い始めてから直ったので、何かそのあたりに要因があった……のかしら???

残る大きな問題は二つ。一つは、Windows側でコピーしたものをXwindow側でペーストできない点。ターミナルでならできるので、ターミナルで開いたemacsとかなら問題ないが、できればGUIエディタなどでもWindows側からコピー&ペーストしたいところだ。もう一つは、Linux側に入れたVisual Stuido Code(やはり最初は表示が大きすぎたが、ユーザ設定でzoomを設定することで解決。これも設定箇所を見つけるのに手間取ったものの一つ)でのpythonの連携など。連休中にこのあたりはなんとかなるのかならないのか……。でもこういうのをいじくり続けるのは決して嫌いではない(笑)。

機械のなかの疑似生命たち

作って動かすALife ―実装を通した人工生命モデル理論入門本読みの時間があまり取れなかったが、今週の一冊はなんと言ってもこれ。岡瑞紀・池上高志・ドミニク・チェン・青木竜太・丸山典宏『作って動かすALife ―実装を通した人工生命モデル理論入門』(オライリー、2018)。AI人気の昨今ではあるけれど、こちらはさらに踏み込んだアーティフィシャルライフ(ALife)についての概説書。生命現象の様々な側面をシミュレーションするという研究領域の入門という感じ。プログラミング本ではあるけれど、打ち込んで学ぶというよりも、公開されているソースコードをローカルで実際に動かして、ALの主要な研究領域の入り口をざっと見る一冊か。たとえて言うならプログラミング絵本というところ。pythonの実行環境が必要だが、それさえ問題なければかなり刺激的なプログラムが並んでいる。当然いろいろな応用も考えられそうで、そうしたことを夢想するだけでも楽しい。

と同時に、ここには、生命現象のシミュレーションのどうしようもなく(というか絶対的に)パーシャルな性質というものを改めて突きつけられている気がする。析出され再構成される部分的な動作は、当然ながら部分的なものでしかないわけだが、それが別の部分とどうつながっていくのかといった経路は見えない。そのつなぐ部分というのが、もしかしたら現在ないしそれ以降の検討課題になっているのかもしれない……。そんなことに思いを巡らせてみるのも一興かもしれない。

機械学習の型稽古

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎今週はあまり読書時間が取れなかったので、とりあえず通読完了直前のものを取り上げておこう。基本的な教科書だけれど、数ヶ月前からコードを実際に打ち込みつつ読んできたのが、アンドレアス・ミュラー&サラ・グイド『Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎』(中田秀基訳、オライリージャパン、2017)。Pythonの機械学習用ライブラリの代表格であるscikit-learnの具体的な紹介本だけれど、機械学習を実践する上でのいろいろなやり方、tipsが学べる。もちろんこれを通読したからといって、すぐに実践に活用できるわけではなさそうだが、scikit-learnには学習用の適切なデータセットなどが含まれていて、いわば柔道などの型稽古としては悪くないのでは、という気がしている。ただ難点は、2017年刊行なのに、掲載コードを実際に打ち込んで実行すると、Future Warningが結構出るということ。一部の機能が今後のバージョンで廃用になりますよ、こちらに乗り換えてください、というわけで、わずか2年くらいで古くなってしまってしまうという、昨今のプログラミング本の命運……。機械学習では自前データの収集と前処理が重要だということも改めてわかる。そのための技法などを別口で学ぶ必要もありそうだ。

(雑感)今週の足跡 – ディープラーニング

直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピこのところ、空き時間にディープラーニングで遊んでみている。理論的な話はいくつか読んだので、そろそろ実践もかじってみたい、という感じ。とは言っても、まだ初歩の初歩にあたるMNISTの手書き数字認識と、それに続く画像分類を試してみただけ。参考書としてアントニオ・ガリ&サジット・パル『直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピ』(大串正矢、久保隆宏、中山光樹訳、オライリージャパン、2018)を用いている。ど素人にとってもkerasは分かりやすい……。それでも、学習精度を高めるための工夫というあたりはすでにして興味深げなトピックだ。スコアを競う感じでなかなか楽しそうな雰囲気。

また、いつもの癖で、こうした技術をたとえば人文知の領域でどう活用できるだろうかということもつい考えてみたくなる。画像認識ならば(ベタだけれども)中世の手書き写本の認識とかができるのでは、とか(少し前に、あの誰も読めないヴォイニッチ写本を機械学習にかけたツワモノが、もとはどうやらヘブライ語らしいという研究結果を出したという話があった)、でもやはり主流となるのは自然言語処理のほうだろうか、とか。自然言語処理のほうも、そのうち遊んでみたいところ。