935
748

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

『Winny』の金子勇さんの倱われたED法を求めお...いたら芋぀かりたした

935
Last updated at Posted at 2024-04-15

たずは本文を読みたい方はこちら

2026/02/23 远蚘

@takuboo_15さんが、金子勇さんによるED法解説蚘事のarchiveリンク完党版を芋぀けおくださいたした。

以前別の方が芋぀けおくださったものでは぀ぶれおしたっおいた数匏も👆こちらのリンクであれば党お読むこずができたす。しかも、金子さんが曞いた論文、論文内で䜿甚したサンプルプログラムのダりンロヌドリンクも生きおいたす

@takuboo_15さんが芋぀けおくださった経緯も䞋蚘のブログで玹介しおくださっおいたす。

2024/04/19 远蚘

普段は「通知が迷惑かなヌ」ず思っおブックマヌクしおいただいおいる方に通知せず蚘事を線集しおいるのですが、この蚘事をブクマしおいただいおいる方は続きが気になっおいる方だず思いたすので通知させおいただきたす。

結論から蚀うず、この蚘事を読んだ @pocokhc (ちぃがぅ)さんずいう方が金子勇さんが曞いたED法のサンプルプログラムを芋぀けおくださいたした。

ちぃがぅさんの蚘事はこちら

自分で解明したかったずいう気持ちも無いこずは無いですが、バズった時点で誰かが実装しおくれそうな気はしおいたした。新卒からIT業界に入っお4幎目が始たったずころですが、業務以倖で初めお業界にコントリビュヌトできた気がしお嬉しいです

远蚘぀いでに、謝眪したす。初回公開時に蚘事タむトル含め本文䞭で䜕か所か「Winney」ず曞いおしたっおいた箇所がありたした。倱瀌いたしたした。誀字修正しおありたす。指摘しおくださった䜕人かの方に感謝申し䞊げたす。

以䞋本文

はじめに

今曎ですが映画『winny』を芋たした。

劇䞭で、金子勇さんのセリフにED法ずいう聞いたこずのないアルゎリズムが登堎したした。

『このNekoFightにはAIを搭茉しおいたす。AIの方匏は単なる3局ニュヌラルネットで、孊習アルゎリズムは私独自のED法です。
ED法は、バックプロパゲヌションが実際の神経系のメカニズムずしおはありえないずいうのが気になっお私の方で考え出した孊習アルゎリズムですが、 孊習速床が非垞に速いのず、䞭間局を増やせば無制限に性胜が䞊がるのが特城のアルゎリズムです。』
(『Winny』, 2023幎, 監督・脚本束本優䜜)

圌が䜜っおいたNekoFightずいうゲヌムのAIに䜿われおいるアルゎリズムのようで、ダりンロヌドペヌゞにセリフず同じ内容が曞いおありたした。
ED法に぀いお気になりネットで調べおいるず、䞋蚘の蚘述を芋぀けたした。

ED法は、実際のヒトの脳の動きをシミュレヌションする、金子さん独自のアルゎリズムです。論文も゜ヌスコヌドもないため、残念ながらどのように実装されおいるのか、分かっおいたせんが、2009幎に開催された『第参回倩䞋䞀カりボヌむ倧䌚』でプレれンした映像がYoutubeに登録されおいたす。(金子勇ずWinnyの倢を芋た 第6話 フリヌ゜フトhttps://note.com/fukuy/n/nfca21224eedc)

ED法は金子さんが考案したアルゎリズムで、論文や゜ヌスコヌドは無く、どのように実装されおいるのか分かっおいないようです 

唯䞀の資料であるスラむド発衚を解読する

論文や゜ヌスコヌドなどが残っおいないため、私がアクセスできる唯䞀の手掛かりは金子さんがED法に぀いお発衚しおいる䞊蚘の動画だけになりたす。この動画を詳现に芳おいきたしょう。

発衚のコンセプト(動画冒頭~3:27)

挚拶のパヌトです。映画でも少し觊れられおいた、金子さんのナヌモラスな䞀面が垣間芋えたす。
発衚のタむトルは 『実際の神経系からヒントを埗た新型人工知胜モデル』。
ファむル共有゜フト『winny』で有名になった金子さんですが、ご専門はシミュレヌションだそうです。発衚では、「本物の脳みそを䜜っおやろう」 ずおっしゃっおいたす。

ニュヌラルネットワヌクに぀いお(3:28~4:28)

最もポピュラヌな脳のシミュレヌションである、ニュヌラルネットワヌクに぀いお玹介するパヌトです。
金子さんは「知っおいるずいうもので話したす。」ず蚀っおあたり詳现に語っおいなかったので、ご存知無い方のために少し捕捉したす。

ニュヌラルネットワヌクに぀いおの捕捉解説

脳の䞭にはニュヌロンず呌ばれる现胞が無数にあり、ニュヌロンどうしはお互いに぀ながり合っお巚倧なネットワヌクを䜜っおいたす。

倖界からの刺激を受けお、ニュヌロンは電気刺激を他のニュヌロンに䌝えたす。受け取ったニュヌロンは、その刺激がある閟倀を超えるず発火しおさらに次のニュヌロンに刺激を䌝えたす。この連続で、ニュヌラルネットワヌクは耇雑な情報凊理を行っおいたす。
image.png

䞊蚘のニュヌロンの働きを、数理モデル化したものがニュヌラルネットワヌクです。
倖界からの刺激を受けお発火したニュヌロンをX、Xからの電気刺激を受けるニュヌロンをY、XずYを぀なぐ軞玢をWず眮いおいたす。

Yが受ける刺激の匷さは、XずYを぀なぐ軞玢Wの倪さ(倪いほど刺激を良く䌝える)で決たるず考えお、もずもずの刺激の倧きさXず、軞玢の倪さWをかけた倀がYに䌝わりたす。
image.png

ニュヌラルネットワヌクを䜿ったAIは、䞀般的にWの倀を調敎するこずで入力Xに応じた適切なYを出力するように蚭蚈されおいたす。

出力されたYを入力ずしおもう䞀床同じこずを繰り返すず金子さんが䜜った3局ニュヌラルネットワヌクになりたす。最初に匕甚した『Winny』劇䞭のセリフで、

䞭間局を増やせば無制限に性胜が䞊がる

ずありたすが、これは3局ニュヌラルネットワヌク䞀般に蚀える普遍性定理のこずでしょう。

普遍近䌌定理 (Cybenko (1989)など)
ニュヌラルネットワヌクは、⌗分な数のパラメタがあれば、連続関数を任意の粟床で近䌌できる。

金子さんはバックプロパゲヌションが嫌いずいう話(4:29~5:52)

バックプロパゲヌション誀差逆䌝搬法ずいうのはWの倀を調敎する方法ずしお最もポピュラヌなアルゎリズムです。
金子さんはこのアルゎリズムが倧嫌いだそうで、このパヌトではなぜ嫌いかに぀いお力説しおいたす。動画ではバックプロパゲヌションに぀いおも詳しい説明は無いため捕捉しおおきたす。

バックプロパゲヌションに぀いおの補足解説

入力が二぀で出力が䞀぀の単局ニュヌラルネットワヌク(䞋図)を䜿っおオアゲヌトを実装したいずしたす。
Wの初期倀を0ずするず、入力Xの倀によらずYには0が出力されたす。
※通垞Wはランダムな倀に初期化されたすが、今回は簡単のために0ずしおいたす。

image.png

どんな入力がきおも0が出力されるゲヌトを、オアゲヌトに倉える(孊習させる)ために次の操䜜を行いたす。

STEP1

X1=0, X2=0の堎合には出力y1は0になりたす。この堎合、すでにオアゲヌトずしおの期埅した動䜜になっおいるためWはどちらも0のたたです。
image.png

STEP2

X1=0, X2=1の堎合にも圓然出力y1は0になりたす。このずき、オアゲヌトずしおは1を出力したいのに0が出力されおいるので、W2を少し倧きくしたす。
䟋えば0.1を足しおW2=0.1ずするず、次にX1=0, X2=1が入力された時の出力は0.1になり、オアゲヌトの出力である1に少し近づきたす。仮に出力が倧きすぎる堎合はWを少し枛らしたす。

image.png

STEP3

STEP1, STEP2を党おのXの組み合わせに察しお十分な回数行なった埌、ニュヌラルネットワヌクがオアゲヌトずしお振舞うようWが調敎されおいるはずです。
この䞀連の手順を、バックプロパゲヌションず呌びたす。
※実際にはYを掻性化関数に入れる必芁がありそうですが、本題ではないため割愛。

既存のニュヌラルネットワヌクの詳现はこちら↓

ではなぜ金子さんはバックプロパゲヌションが嫌いなのか

その理由はシンプルで、『絶察こんなこずやれないですよ。本物では。』ずのこずです。
人間の神経系では募配消倱は起こらないですし、そもそも䜕局も前の脳现胞にどうやっおフィヌドバックを枡すのかずいうこずでしょう。

そこで、嫌いなバックプロパゲヌションの代替ずしお金子さんが考え出したのがED法です。
本物の脳っぜくないから嫌いずいうのはシミュレヌションが奜きな金子さんの性栌なら分かる気がしたすが、そこで本物の脳っぜいアルゎリズムを考え出せるのが金子さんのすごいずころですね。

※募配消倱に぀いおも捕捉しようかず思ったのですが、前提知識が色々あるので気になる方はリンクをご芧ください。すみたせん...
簡単に蚀うず、ニュヌラルネットワヌクの局が増えた時、手前の局では誀差がほずんど出なくなっおWの曎新が出来なくなるずいう問題です。

ED法の抂芁玹介(5:53~6:30)

  • 日本語で蚀うず誀差拡散法
  • バックプロパゲヌションぱラヌを埌ろに枡すが、ED法ぱラヌを党䜓で共有しおいる
  • この話はここで初めおするので、ネットで調べおも出おこない

ずいう内容です。

ED法の図解(6:31~11:03)

image.png

ED法のアむデアに぀いお䞊蚘の図を䜿っお解説しおいるパヌトです。
既存(圓時)のニュヌラルネットワヌクは、各ニュヌロン(X)、シナプス(W)はどれも共通した性質をもっおいたしたが、このモデルでは興奮性ニュヌロンず抑制性ニュヌロンが甚いられおいたす。

孊習のアルゎリズムずしおは、

  • 最終出力を䞊げたいずきは、同じ皮類のニュヌロンどうしの結合(図䞭赀い矢印)を匷くする
  • 最終出力を䞋げたいずきは、違う皮類のニュヌロンどうしの結合を匷くする

ずいう方法を取るそうです。

バックプロパゲヌションのアルゎリズムは数孊的には正しいかもしれないが、実際には有り埗ないので倧䜓の郚分は参考にし぀぀、出力偎での゚ラヌを党郚の局で○○しちゃえ倧事なずころが聞き取れず。ずいうアむデアで考案されたずのこずです。

そしお、金子さんによるず図の赀枠でかこたれた「逆」ず曞いおある箇所は䞊蚘の芏則を満たさないそうです。しかし、『やっおみるず動くからいいじゃん』 ずおっしゃっおいたした。映画ではよく確認せずに調曞に眲名しおしたっお裁刀で䞍利な蚌拠ずしお䜿われるシヌンがありたしたが、现かいこずは気にしない性栌みたいですね。

11:03以降

ベンチマヌクテストを行った結果既存のバックプロパゲヌションより良い結果を埗られたこずや、匷化孊習ぞの応甚可胜性に぀いおのスラむドのため、ED法の䞭身を知りたいずいうこの蚘事の目的からは倖れるため解説したせん。気になる方は元動画をご芧ください。

11:03以降に登堎するヒントになりそうな情報ずしおは、通垞のニュヌラルネットワヌクはアミノ酞系ニュヌロンを参考にしおいるが、ED法ではモノアミン系ニュヌロンを参考にしおいる(元動画19:50あたり)ずいうもののみだず思いたす。

金子さんによるず、モノアミン系ニュヌロンは、神経䌝達物質をドカッず呚蟺に拡散する(芁怜蚌)そうで、圌はこの動きが脳の孊習に関わっおいるのではないかず芋おいるそうです。

ED法の䞭身に぀いおの仮説

ここからは私の掚枬です。

仮説1 - 各ニュヌロンは連続倀ではなく二倀をずる

通垞のバックプロパゲヌションによる孊習を行うニュヌラルネットワヌクのこずが倧嫌いな金子さんの性栌から考えおED法では各ニュヌロンは(0, 1)か、(-1, 1)の二倀を取るよう蚭蚈するはずだず考えたした。実際のニュヌロンも、入力ずなる刺激が閟倀を超えるず発火しお次のニュヌロンに刺激を䞎え、閟倀未満だず䜕もしたせん。

各ニュヌロンが二倀を取り、連続倀を取らないず仮定するこずで、ED法(誀差拡散法)ずいう名前が぀いおいるこずにも理由づけができたす。 ED法ずいうのはもずもの人工知胜関連の蚀葉ではなく、金子さんが初めお䜿った蚀葉でもありたせん。

䞀般的なED法ずいえば、各ピクセルの明るさが0(真っ黒)~255(真っ癜) の倀のいずれか倀を持っおいる画像を0か255の二倀の画像に倉換するアルゎリズムです。この時、最も単玔に考えるず、察象のピクセルの明るさが閟倀より䜎ければそのピクセルを0、高ければ255ずするこずを思い぀きたす。

しかし、それだず閟倀付近の明るさを持぀ピクセルの情報が倧きく倱われおしたいたす。それを解決するために、あるピクセルのもずもず持぀明るさず、閟倀ずの差 「誀差」 を隣接するいく぀かのピクセルに枡すこずで画像党䜓ずしおは誀差の情報が倱われなくなりたす。

連続倀を二倀に倉換するずいう意味では金子さんがやっおいるこずず同じであり、おそらく既存のED法から着想を埗た呜名だず思いたす。

たた、ED法は孊習速床が非垞に速いのが特城だそうですが、連続倀を二倀化しお蚈算量を削枛しもずもずの誀差拡散法のように情報を䜕らかの方で倱わせないこずが可胜だずしたらこの特城も実珟できそうです。

仮説2 - 二倀は、(0, 1)ではなく(-1, 1)である

  • 最終出力を䞊げたいずきは、同じ皮類のニュヌロンどうしの結合(図䞭赀い矢印)を匷くする
  • 最終出力を䞋げたいずきは、違う皮類のニュヌロンどうしの結合を匷くする

-1, 1にするず、ニュヌラルネットワヌクが䞊蚘のルヌルに埓うためです。

䟋ずしお、党おのWで初期倀を1にしお代入しおみたす。
image.png

この堎合䞊のように各ニュヌロンの倀によらず最終出力は0になりたす。

次に、同じ皮類のニュヌロンどうしの結合を匷くしおみたす。通垞のニュヌラルネットワヌクは0.1づ぀や、0.01づ぀倀を増やすこずが倚いですが、今回は簡単のために同じ皮類のニュヌロンを぀なぐWの倀を+1しお考えたす。
image.png
結果、最終出力は+1になり、ルヌル通り増えおいたす。

逆に、違うニュヌロンどうしの結合を匷めおみたす。
image.png
最終出力は-1になり、この堎合もルヌル通り最終出力は枛っおいたす。

たずめ

仮説1, 2ずも倧枠は倖しおいないず考えおいたすが、完璧にあっおいるずいうわけでもないず思いたす。スラむド䞭の「逆」の意味に぀いおは倀を代入しおみおも良く分からなかったですし、ED法の名前の由来である誀差拡散法ずの぀ながりも曖昧です。ED法を考えるうえで参考にしたずいう、モノアミン系ニュヌロンの働きに぀いおも知識䞍足です。

今回の蚘事では実際に実装を詊みるずころたではいけたせんでしたが、今埌、今回曞ききれなかったいく぀かのパタヌンも含めお実装しおみお、ゆくゆくは完党解明を目指したす。

もし情報をお持ちの方がいらっしゃいたしたら、コメントで情報を提䟛いただけたすず幞いです。

935
748
20

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
935
748

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?