最近、Deep Learning(ディープラーニング)という言葉をよく聞きますが、どうやらAI(人工知能)に関する一つの技術らしいとはわかってきました。でも詳しい人たちは「Caffeを使ったDeep Learning」なんて言ってます。「Caffe? Deep Learningがお茶を飲むのかしら。」わかったような顔をして話を聞いていますが、内心では冷や汗をかいていたりするでしょう。
やはりよくわかっていない会社の上司が「これからはCaffeでDeep Learningだ!」とか言い出して、途方に暮れている人も居るかも知れませんよ。そんな時、上司に「Caffeは、Deep Learning用のプログラミングツールなのです」と教えてあげてください。
それでは、上司が戸惑っているうちに、CaffeとDeep Learningについてわかりやすくお話しましょう。
Caffeの前にDeep Learningとはどんなものか
はじめに、Caffeの説明の前にDeep Learningとはどんなものか、ざっくりとお話します。
まず、AI(人工知能)とは、人の知的な活動(話す、判断する、認識するなど)を、プログラム自身が学習する仕組みを用いて実現しようとする技術や研究分野を示す概念のことです。そして、現在非常に注目されているAI(人工知能)の中心となる技術の一つがDeep Learning(深層学習)です。Deep Learningの解説では、よく
片仮名の専門用語がでてくるとちょっと怯むかも知れませんが、何、大したことはありません。
画像解析はDeep Learningの得意分野
Deep Learningシステムにたくさんの画像を見せながら、これは猫で、これは猫じゃない、と教えていくと、自分で猫とはどんなものかが判断できるようになります。猫の特徴を人間が教えなくても、自分で考えて判断するのが最大の特徴です。
猫の例を出しましたが、Deep Learningに最も期待されている能力の1つが画像解析。
CaffeはDeep Learning用のライブラリ
Caffeは、C++というプログラム言語でプログラミングされた、Deep Learning用のライブラリです。
つまり、Caffeは、Deep Learningシステムをプログラミングするためのツールです。ライブラリではなくフレームワークという言い方をすることもあります。フレームワークはライブラリを拡張した概念ですが、まあ大体同じものと考えてください。
Caffeの他にも、Deep Learning用のライブラリあるいはフレームワークはありますが、現在はCaffeの注目度が高いようです。理由としては、論文によく取り上げられる、ということがあります。
Caffeは、以前はLinuxというOSで使うものだったのですが、最近はWindows用のものが配布されているので、Caffe、あるいはDeep Learningによる画像解析に興味を持った人は、インストールして、プログラミングに挑戦してみるのも良いでしょう。
Deep Learningの特徴は、AI(人工知能)に対して人間が細かなルールを設定してあげること無しに、正解を教えること無しに、AI(人工知能)が自ら学習していく点です。ですから、AI(人工知能)が導いた結果に対して、どうしてこの結果が出たのか人間にはわかりません。結果が出た理由はわからないけれど、統計を取ると人間が判断をしているよりも正しい、という場合が多く出てきているようです。
ディープラーニングが用いられた、CTスキャン画像から診断をする医療用の画像認識AIなどでは、既に、人間の医師にはどうやって診断しているのかわからないが、確かめてみると正しい診断がなされている場合が実際にあるそうです。
このように、人間が理解できないけれどなぜか適切な結果を導くディープラーニングを利用すれば、言葉を喋れないためにマーケティングが難しい対象(赤ん坊やペットなど)向けの商品の開発にも応用できる可能性は大いにあるでしょう。