解決策
2015年当時、一般的な見解ではリカレントニューラルネットワークの訓練は困難とされ、それらを用いた論文は数式とベンチマーク表が中心で難解であり、ネットワークが実際に何を学習したのか読者にはほとんど分からなかった。Andrej Karpathyは画像キャプション生成の自身の研究で逆の経験をしており、小さく任意に構成されたモデルが数分で驚くほど良いキャプションを生成したことから、なぜこれらのモデルが注目に値するのかを示そうとした。
彼のエッセイはRNNをひとつの状態を持つステップ関数として教え、その上にテキストの次の文字を予測する文字レベルの言語モデルを構築した。記事にはnumpyによる最小限の100行実装と、MITライセンスのTorch/Luaコードベースchar-rnnが含まれ、読者は大きなテキストファイルをひとつ入力するだけで全ての実験を再現できた。
デモンストレーションによって学習が可視化された。訓練後のサンプリングでは、シェイクスピア風の対話、XMLと括弧が正しく入れ子になったWikipediaのマークダウン、ほとんどコンパイル可能な偽の代数幾何学のLaTeX、波括弧の対応が取れ妥当なコメント付きのLinuxカーネルCコードが示された。『戦争と平和』のモデルはイテレーション100ではランダムな寄せ集めだったものが、イテレーション2000では正しく綴られた文へと改善し、ニューロンの可視化では、文字列を丸暗記するのではなく、テキストがURL、引用、wikiリンクの内部にあるかどうかを追跡することを学習したセルが見つかった。
記事に追記された編集リストは反響を記録している。Redditでの議論、London Deep Learningミートアップでの講演、Yoav Goldbergによるn-gramベースラインとの比較、そしてコミュニティによる再現としてchar-rnnを料理レシピ、Eminemの歌詞、オバマの演説、アイルランド民謡、ABC記譜法の音楽、聖書で訓練した例が挙げられている。このエッセイは2019年2月3日にHacker Newsで再び取り上げられ、161ポイントと51件のコメントを集めた。
達成したこと
学習の過程をそのまま見せる:コーパスごとにひとつの文字モデルを、コードとニューロンマップとともに
100行のnumpy実装と公開されたリポジトリにより、主張は反証可能になった。読者は著者のスクリーンショットを信じる代わりに、同じモデルを自分で訓練できた。
馴染み深いコーパス、シェイクスピア、Wikipedia、LaTeX、Linuxソースが説明の役割を無償で果たした。読者はMLの専門知識がなくても、サンプリングされた出力が正しく見えるかどうかを判断できたからだ。
イテレーション100、300、700、2000でのサンプルを示すことで、ネットワークが学習するという抽象的な説明が、空白から綴り、文法へと構造が現れる目に見える過程に置き換わった。
ニューロンの発火マップはブラックボックスへの懐疑に答えた。生の文字だけから引用検出、URL追跡、括弧の計数を学習したセルを表示したのだ。
MITライセンスにより派生プロジェクトがこの手法をレシピ、音楽、政治演説へと広げ、ひとつのブログ記事が目に見えるエコシステムの種となった。
応用できること
内部が不可視であるために手法が疑われているときは、動く最小バージョンを提供し、学習の過程をそのまま見せよ。読者が再実行できる証拠は、難しすぎるという主張に勝る。
その後
記事に追記された編集リストは直後の反響を記録している。r/machinelearningとr/programmingでの議論、London Deep Learningミートアップでの講演、Yoav Goldbergによるn-gramベースラインとの比較、料理レシピ、Eminemの歌詞、オバマの演説、アイルランド民謡、聖書で訓練されたコミュニティモデル、そしてchar-rnnをプリインストールしたTerminal.comのスナップショットである。このエッセイは、それが広めたLSTMの基礎研究が発表されてから数年後の2019年2月3日にHacker Newsで再び取り上げられ、161ポイントと51件のコメントを集めた。
出典をたどる
出典
- The Unreasonable Effectiveness of Recurrent Neural Networks Andrej Karpathy · karpathy.github.io ·
- The Unreasonable Effectiveness of Recurrent Neural Networks — Hacker News discussion Hacker News · news.ycombinator.com ·