AIというものを理解するために
突然ですが、AIに首を突っ込んでみたいと思います。
この記事は、思いっきり技術よりの話になっちゃいますが、ソースコードは書かないので、ここに書かせてください。
まず、AIをざっくり分けると、二種類あるのです。
- 機械学習
- ディープラーニング
(ずっと昔までさかのぼると、DeepLearningは第三次AIと呼ばれていますが、きりがないんでこの二つとします。)
んで、それぞれをざっくり説明すると、
1の機械学習は、人が学ぶ方向を教えるもの。
2のディープラーニングは、自分でどう学ぶかを判断するもの
という風に説明できます。
機械学習とディープラーニングは、同じAIでも次元が違うのです。
AIの開発言語はPythonが主流
AIについて何か作ろうとする場合、プログラミング言語はPython(パイソン)という言語の一択です。
プログラミング言語というのはたくさんあるんですが、なかでもこのPythonという言語はもともと計算が得意な言語です。
そして、numpyという高速に計算処理をするライブラリを無料で使えます。
その恩恵をうけ、機械学習→ディープラーニングの進化もPythonという言語を軸に流れてきています。
私はPythonという言語を使ってなかったので、AIの学習に出遅れました。
RubyでAI始めました。
私がAIBOのようなロボットを開発する日は来ないと思いますが、興味がないわけではありません。
AI的な対話型のサービスを、ウェブで作るかもしれません。
まずは、手元で動く、かわいい思考回路を作ってみたい。
私の守備範囲であるRubyという言語で、numpyみたいなputhonのプログラムを呼び出せるライブラリもあるらしいことを知りました。
Pycallといいます。
もちろん、早さを追求するならブリッジ的なPycallを使わず、王道のPythonでやるべきですが、まずは自由にやってみたいので、Rubyで導入を理解することにします。
今日は、来るはずだったお客さんが来なかったので、その時間帯で、このページにある導入は出来ました。
まずは、文字認識を頑張って出来るようにしてみようと思います。
あとは、自動で曲を作って再生したり、自動で文章を作って、お手紙を郵便で出してもらったりできるようになったら恐い。