ニューラルネットワークって、なに?
ニューラルネットワークは、データから自分で学んでいくコンピュータプログラムを作る技術です。人間の脳の働きをごく大まかにまねた仕組みになっています。まず、ソフトウェアで作った「ニューロン」をたくさん用意して、それらを互いに繋げます。次に、ある問題をネットワークに与え、答えを何度も試行錯誤させます。うまくいった結びつきは強められ、うまくいかなかった結びつきは弱められていきます。より詳しい入門としては Michael Nielsen による Neural Networks and Deep Learning(英語)が良い出発点です。技術的な全体像を学ぶには Ian Goodfellow・Yoshua Bengio・Aaron Courville の Deep Learning(英語)がおすすめです。
これ、自分でも使ってみたい!
ぜひどうぞ。本ツールの原典は GitHub でオープンソース公開されており、ニューラルネットワークをもっと身近に学べる教材になればという思いで作られています。Apache License 2.0 の範囲で自由に使えます。改善案などがあれば原作者へ Issue を立ててください。
下のチェックボックスで、特定の授業・トピックに合わせて表示する項目を絞ることもできます。表示したい要素を選んだ後、 を保存するか ページを更新してください。
色は何を意味してるの?
オレンジと青は、画面のいろいろな場所で少しずつ違う使われ方をしますが、基本的には オレンジ=負の値、青=正の値 を表しています。
データ点(小さな円)は、最初オレンジか青に色づけされていて、それぞれ「-1」と「+1」に対応します。
隠れ層では、ニューロン同士をつなぐ線の色がそのつながりの「重み」を表します。青は正の重み(そのニューロンの出力をそのまま使う)、オレンジは負の重み(出力を逆向きに使う)です。
出力層では、データ点はもとの値で色づけされたままで、背景色がそのエリアでネットワークが出した予測を表します。色が濃いほど、その予測の確信度が高いことを意味します。
どのライブラリを使ってるの?
原作者は、この教育用可視化ツールに必要な機能だけを備えた小さなニューラルネットワーク ライブラリ を独自に書いています。実用的な用途であれば TensorFlow ライブラリを検討してください。
クレジット
本プレイグラウンドは Daniel Smilkov と Shan Carter によって作られました。Andrej Karpathy の convnet.js デモ や Chris Olah のニューラルネットワークに関する 解説記事 を含む、多くの人々の先行研究を継承したものです。元のアイデアへの協力をいただいた D. Sculley 氏、フィードバックと助言をいただいた Fernanda Viégas、Martin Wattenberg、その他 Big Picture・Google Brain チームの皆様にも感謝します。
日本語版(本ページ)は Apache License 2.0 に基づき、マインドシード研究所(pyol.net)が翻訳・改変しました。原典との差分は表示文字列の日本語化と一部メタタグの調整のみです。原典: github.com/tensorflow/playground