TAMALOG

プログラミングがあれば遠いところへ行けます。プログラムと人の共生を記録します。

Self-Organizing Map(SOM)の実装

自己組織化マップと呼ばれる,SOMをJavascriptにて実装を行いました.
至極単純なSOMです.

成果

きっかけ

ふと「絵を描くコンピュータ」はいないのだろうか?という疑問が頭を過ったのが発端です.
絵を描くコンピュータについて検索してみると,いくつか見つかりました.

  1. AARON 自分で絵を描くコンピューター・プログラムが登場 « WIRED.jp
  2. 人工知能画家・静
  3. The Painting Fool コンピューターは芸術家になれるか? 人工知能の新たな挑戦「The Painting Fool」 « WIRED.jp

簡単に調べて見つかったのは3つ.意外にも少ないことに驚きました.
調査していて気になったのは,やはりアルゴリズムです. 発見した3つのうち,AARONとThe Painting Foolの2つは,日本国外で開発されている上,AARONとThe Painting Foolは詳しいアルゴリズムが見つかりませんでした.
一方,人工知能画家・静は,企業と共同研究をしているためか,資料がいくつか見つかりました.
その資料(人工知能画家・静 人間とコンピューターとの絵画の共同制作)を読んでいたときに,自己組織化マップ(SOM)という文字を見つけました.

自己組織化マップについて調べてみると,なかなか面白くて奥が深い!
SOMの基礎部分なら簡単に作れそうだったので,実装に至りました.

関連ワード

  • Self-Organizing Map (SOM)
  • Neural Gas (NG)
  • Growing Neural Gas (GNG)