2016年12月21日水曜日

マルチエージェントでDeep Learningの基礎

私は時々、ちょっとしたITテクニカルな話題(試行試作の経験)を発信しています。そうしていると、教員、学生のみなさんから、時として、「先生、こんなことやられていますよね。僕も、私も、それをこんなところに使ってみたいのですが」という相談に来られる場合があります。いいですね。これはうれしいですね。昨日もありました。

その一環として、話題のDeep Learningの基礎である多層ニューラルネットワーク(バックプロパゲーションあり)についてです。現在、私の3年生ゼミで、マルチエージェントシステムNetLogoによるアプリケーションをやっています。あと3回くらいあります。Deep Learningの基礎をやりたいです。NetLogoに適当な例題ソースがありました。10年前に、NetLogoの創始者Wilensky自身が書いたプログラムです。基礎になることは、10年以上前にあったことを再確認!という感じです。

通常、Deep Learningをやるためのプログラミング言語は、Pythonですね。あるいは、Javaもありますが。マルチエージェントでやっている例は少ないでしょう。しかし、各ノード、そしてリンク(辺)自体もエージェントとして扱うとよいです。特に、リンクの重みが重要ですが、それは、リンクエージェントのひとつのプロパティ(属性)にすると自然に扱えます。

これを3年ゼミでやってみようと思います。しかし、ソースには、僅かな英文コメントしかありません。これじゃちょっと無理なので、全ステートメントに1行づつ日本語コメントを入れたものを作成しました。さらに、最も難解と思われる、バックプロパゲーションの解説図も付けました。何種類かの微分の式です。
(→もしも、この資料を希望される方は、メールでお知らせください。)

XORを認識するニューラルネットワークであることの確認

0 件のコメント:

コメントを投稿