2016年03月14日

凡人プログラマーでも Deep Learning を使いたい!


こんにちは!

大阪のスタートアッパー「はっしー」こと橋本です。

弊社(株式会社 YEBIS.XYZ)は、釣りに関連したサービスを提供する事業会社である一方で、それを実現するために裏側では最新のITを駆使する情報テクノロジーカンパニーでもあります。

中でも今後特に力を入れようとしている分野が、自社の運営するスマホアプリや「IoT(Internet of Things)デバイス」と呼ばれる小型ネットワーク機器から集めた大量のデータを処理・分析・活用する、ビッグデータ解析の分野です。

注目の技術『Deep Learning』

前述の「ビッグデータ」や「IoT」とも関連してホットな話題となっているのが、人工知能領域のひとつである「Deep Learning(深層学習)」という分野です。数年前に人工知能研究の領域に革新的なブレイクスルーをもたらした後、特にここ半年ほどは Google が次々に発表している世間受けする応用成果を火種に、ニュースや TV 情報番組を介して一般の方の耳目に触れる機会も増えてきています。(ここ数日ですと、囲碁の最高峰プロを打ち負かした AlphaGo という AI の話で持ち切りです。)

Deep Learning とはどういうものか、説明にチャレンジしてみます。 まず、コンピュータに「あるデータが ◯◯ であるかどうか」を判定(分類)させるという目的を考えます。(例えば、ある写真に写っているのが猫かどうか。あるいは、ある囲碁の一手が良い手かどうか。)従来の方法(従来方式の人工知能も含む)では、判断基準は人間が細かく教える(プログラミングする)必要があり、現実の問題を解くには、教える人間側の作業が複雑になりすぎて困難であることが多々ありました。それに対して Deep Learning では、判断基準を人間が教えるのではなく、コンピュータ自身に探させます。原理的には、生物の脳神経(ニューロン)の基本構造を模して多数・多層に繋ぎ合わせた「ニューラルネットワーク」を高速なコンピュータ上に定義し、それに大量のデータを与えることで、データ群の中の特徴的な表現を抽出できるようなパラメータの並びを、膨大なパターンの中から試行錯誤して見つけさせる、というのが基本的な考え方です。

例えば Google はこれを活用して、写真に写っているものが何であるか、人間よりも高い精度で判断できる AI を生み出し、API 等のサービスとして提供を始めています。

そんな Deep Learning を応用したサービスやプロダクト、成果が次々に発表され、プログラミングインターフェイスを備えたオープンソースのツールが幾つも発表されるなか、「自分もそれを使えるようになりたい」というITエンジニアが日増しに多くなっています。ただ、Deep Learning を活用するには一定の基礎知識が必要でそれなりに高いハードルがあるため、私のような普通のプログラマーは「最初の取っ掛かり」となる学習方法を求めて彷徨いがちです。

そこで、プログラマーのための Deep Learning セミナーを開催

今回、私がお世話している機械学習・データマイニング勉強会@大阪では、大阪大学人工知能研究会との共催で、プログラマーのための Deep Learning セミナーを開催することになりました。

これから Deep Learning を使ってみたいというプログラマーにとって、4時間みっちり基礎から丁寧に学ぶことのできる、すごく貴重な機会ですので、ご興味がありましたら是非ご参加ください。

詳細はこちら。 Deep Learningチュートリアル ~機械学習の基本的な知識と実装~

3/15 追記

おかげさまで、募集開始から一日で満席となりました。今回間に合わなかった方も、ひとまず今回の申し込みページに「キャンセル待ち」としてご登録いただければ、次回開催が可能になった場合にすぐにお知らせできますので、よろしくお願いいたします。