ITのたね

Information Technologyの方向をみさだめてみましょう

人工知能は人を超えるか?実際にやってみてみよう。

汎用人工知能研究最前線

 

人工知能について色々インターネットを探していて、かずー氏という人が脳科学の観点からそのシステムの解析の現状を報告されています。つい最近シリーズが完結しています。ずーっと毎回楽しみにしていたのですが、今人間の脳はどこまでわかっていて、これからどこを調べようとしているのか、等わかりやすく説明されています。アドベントカレンダーという名前はクリスマスに向けての連載だっだのでこのタイトルにされたようですが、かなり知的な方の様です。このまま研究が進んでいくと、汎用人工知能は多分いつかそう遠くない未来に作られそうな感じをうけました。やはり、色々な脳の部分を統合することにより実現するという考え方が主流なようです。

kazoo04.hatenablog.com

特に研究者の目から見た解決すべき問題点が、そのままシンギュラリティの論争の答えになるような気がします。たとえば、人間は何もしていないときも脳は動いている。何をしているのか?とか、何かに注意(注目)する大元はどこからくるのか?とか、何かを意識するとはどういうことか?、記憶はどのようにされているのか等です。かずー氏は科学者一般がそうであるようにシンギュラリティ肯定派のようで、これらは脳科学が解き明かしてくれると期待されています。

まだまだ先は遠いですが、これらが脳科学で明らかにされていくことにより汎用人工知能は作られることになりそうです。

無料授業MOOCについて

しばらくご無沙汰しておりました。

新年のあいさつもしないうちに、もう一月も終わりです。

この間、何もしていなかった訳ではなく、じつはPythonの勉強をしていました。

Tensor Flowも本格的に使えるようになるためには、Pythonも使えるようにと。

で、現在はCourseraで無料の勉強中です。いわゆるMOOCというやつを利用させて頂いています。宿題も初めは遅れての提出でしたが、今は追いついてきました。

と、いうことでMOOCについて、簡単に紹介です。Massive Open Online Coursesの略で、簡単にいうとただでも授業が受けられるオープンな授業のことです。大学の授業が多いのですが、他にも企業が開いているものもあります。授業料がかかるものや、単位認定に授業料がかかるが単位認定を必要としなければ無料のもの、完全無料のものもあります。アメリカの著名大学はいくつかのコースでほとんどこの授業を持っています。Courseraの場合だと、人工知能はStanford、PythonはUniversity of Michiganです。現地の学生だけでなく世界中の学生と一緒に学んでいることになります。日本でもMOOCはあります。JMOOCという組織が普及を図っています。

http://gacco.org

 

先日たまたまTensorFlowの講義がUdacityで開始されました。要求水準がかなり高くハードルが高いのに驚きました。ちょっと見てみたら講義も矢のようなスピードでした。日本からも受講している人がいると思いますので、ちょっと様子を覗いてみたいと思っています。その前に、CourseraのPythonの授業があと数週間で終わりなのでそちらが終わってからと思っています。Courseraは、Python機械学習もコースがそろっています。英語なのですが、英語のサブタイトルがついているので、英語がそれ程得意でなくても大丈夫だと思います。宿題も結構簡単なのですが、最後になって授業で使っている標準ライブラリがうまく動かず困っています。授業内の掲示版にも何も出ていないので、私のインストールに問題があるようです。今日中に調べておかないと、また遅れます。

 

それにしてもこんな授業が無料で受けられるとは!英語に難がある日本人にはこういったグローバルな活動に簡単に参加できずにかなりの損をしているような気がしています。インターネット時代になりますます英語と日本語の情報のギャップを感じています。

TensorFlow、みんなやり始めてる

同じことやってる人がいた。

yamitzky.hatenablog.com

それに、昨日のTensorFlowのアクセス数が今までのトップにきていました。

はやりなんですなぁ。

でも機械学習、Deep Learningは理解するの大変なんで根気が必要。脱落者もいっぱいでてきそう。私もそうなるかもねー。

 

TensorFlow

しばらく何も書かなかったのですが、その間に色々試してました。Microsoft Asureを試すつもりでしたが、もう少し基本に戻ってました。その間にライセンスが切れてしまった・・・

 

で、機械学習ツールはほとんどPythonで使われるということもあり、Pythonのお勉強してたりしてました。Pythonって2.7と3.4の二つのバージョンに互換性がなく、誰かさんのご指導で3.4で色々やってたらみんな2.7使ってるし。サイエンティストの皆さんは統計モジュール使いたくてPython使ってるので、古いパージョンでも気にしないみたい。一応Pythonのプログラムを読んで解析できるレベルまではきました。とりあえず、既存のプログラムをちょこっと直すくらいはできるようになっています。

 

最初に覚えたMeCabが気に入っているのですが、WindowsPythonと一緒に使えるようにするのが大変そう。基本はLinuxのようです。先ほども言いましたが、サイエンティストの皆さんはLinuxPythonという面倒な組み合わせがお好きなようで。でも、ここまではWindowで頑張ってきました。

 

GoogleがリリースしたTensorFlowという機械学習フリーソフト(と簡単に言ってしまう)が結構なニュースになっているので、これをインストールしてみましたので、インストールの注意点をメモ代わりに。これもやっぱりLinux-Pythonです。これを簡単に動かせるようにするために、結局Linuxを入れました。Unix使うのはン十年ぶり。そういえば、一時期馬鹿でかい画面のUnixマシン使ってました。あれ、滅茶苦茶高かったんですよね。結局Unixはビジネス用にはなりませんでしたが、今の人工知能ブームで復活するかも。

 

Linuxのインストールは自宅にある使ってないラップトップに入れようかと考えてましたが、結局今のPCにVirtualBoxを入れて仮想マシンで動かすことにしました。で、以下のようにしました。徹底的にフリーソフトを使います。

仮想マシン -

Oracle VM VirtualBox 5.0

Linux

Ubuntu 64bit 14.04

Python (IDE)

Python 2.7

機械学習

TensorFlow 0.5.0

 

最初はサイトのインストールの手順にしたがったのですが、やはり引っかかりました。

現在のPythonのインストールが良くないようです。GoogleさんおすすめのVirtualenvを使ってやっと入りました。ただ、一回目はnumpyがちゃんと入っていないようで落ちたので、

sudo apt-get install python-numpy python-scipy

とやってもう一度インストール。

なんかIT系のサイトになりつつありますが、目的はあくまでもユーザー目線を保つつもりであります。

 

で、なんかわからないテストをしてみたら、なんと、動くではありませんか。

で、それが

$ python tensorflow/models/image/mnist/convolutional.py
Succesfully downloaded train-images-idx3-ubyte.gz 9912422 bytes.
Succesfully downloaded train-labels-idx1-ubyte.gz 28881 bytes.
Succesfully downloaded t10k-images-idx3-ubyte.gz 1648877 bytes.
Succesfully downloaded t10k-labels-idx1-ubyte.gz 4542 bytes.
Extracting data/train-images-idx3-ubyte.gz
Extracting data/train-labels-idx1-ubyte.gz
Extracting data/t10k-images-idx3-ubyte.gz
Extracting data/t10k-labels-idx1-ubyte.gz
Initialized!
Epoch 0.00
Minibatch loss: 12.054, learning rate: 0.010000
Minibatch error: 90.6%
Validation error: 84.6%
Epoch 0.12
Minibatch loss: 3.285, learning rate: 0.010000
Minibatch error: 6.2%
Validation error: 7.0%

わけわかりませんが、とりあえず動いたということで○。

 

インストールが終わって、さあこれからどんなものかのチェック、ですが結局他の人工知能のシステムとそんなに変わってる訳ではありません。呼び方はかわってるけど・・・

 

これを見ると、Microsoft Asureやら、Wekaやらとそんなに変わってはいません。

https://youtu.be/iJKv3gKjvb4

基本は、データフローダイアグラムですね。違うのがデータが多次元の行列となっていること(これをテンソルと呼ぶのだそうです)。処理の部分はそのまんまオペレーション。それに、最初のインプットと最後のアウトプットが加わるとこうなります。これのいいところはなんといっても、オープンソース。自由度が全く違う。どんなことやってるかが調べられます。といっても、そんなことはしないと思うけど・・・

 

これからしばらくはこれで遊んでみよー。色々なゴミデータを入れてみて何がでてくるか?

でも、Unix動かすとPCがとたんに重くなるぅ。

 

 

人工知能資料集

deeplearning.net

何と2006年から存続するサイト。DeepLearningのことならここからという感じでしょうか。

 

Chainer

Preferred Networksというスタートアップの会社がリリースしたニューラルネットワークのシステム。

 

Shi3zの長文日記

ChainerをWindowsにインストール。研究者のレベルではやっぱりWindowsよりもUnixだねー。 

 

人工知能はディープラーニングによってもたらされるのか

最近の流れでは現在の機械学習の一部としてのディープラーニングは真の意味での人工知能ではないというのが主流です。ただ、今後どう転ぶかわからないので、ここにある情報は結構有用です。

Deep Learning - 日本語サイト

Deep Learningの技術の日本語のサイトって少なくて、専門的過ぎて理解不能なんですね。と言いながらLinked Inに結構色々載ってます。でも、人工知能関連はなんでここに載せてるんだろ。Linked Inって私には転職サイトのイメージなんですが、Linked In Slideshowにはそういうイメージはないのかな?

 

www.slideshare.net