数学的に証明できる方が怪しい

積分型のニューラルネットワークに見切りをつけて,スパイキングニューラルネットワークの方を考えているが,先行文献を読んでいて「!?」と思った.直感的に動くと思われる学習則(しかもHebb則にのっとっている)を提案し,その学習が収束することを数学的に証明しているのだ.よくある論文のパターンだが,何かひっかかった.

学習が収束することを数学的に証明できるってことは,みんな利口になるってことじゃないか.個体によって利口さが違うことを説明できなくなるんじゃないか.なんだかおかしい.実際の生き物の学習は,数学的に証明できてはいけないのじゃないかと思えた.

私が見捨てたディープラーニングも,実は数学的証明を捨てて実利に走って成功している.数学的証明を捨てた割り切りの点ではディープラーニングを褒めたい.

広告

アミノ酸は微分しない

ディープラーニングの研究を長くやってきたが,もう見限ろうと思う.ディープラーニングの枠組みでは,ニューロンをいくら増やしても,層をいくら増やしても,発明発見ができるような知能は生まれない.バックプロパゲーションで学習するというのは無理があると思う.本物の脳のメカニズムと違い過ぎる.アミノ酸がどんなにからみあったって,微分するようにはならない.エッジを見つけるような微分もどきはするかもしれないが,ニューロンの結合強度を調整するような微分を生物の脳がするというのはあまりに不自然だ.

たぶん,20年後にはディープラーニングは研究されてないと思うよ.あれって,要するに入力ベクトルをひどく簡単な出力ベクトルに変換するだけの組み合わせ回路じゃない.研究する部分なんかないよ.

アミノ酸は微分しない

ディープラーニングの研究を長くやってきたが,もう見限ろうと思う.ディープラーニングの枠組みでは,ニューロンをいくら増やしても,層をいくら増やしても,発明発見ができるような知能は生まれない.バックプロパゲーションで学習するというのは無理があると思う.本物の脳のメカニズムと違い過ぎる.アミノ酸がどんなにからみあったって,微分するようにはならない.エッジを見つけるような微分もどきはするかもしれないが,ニューロンの結合強度を調整するような微分を生物の脳がするというのはあまりに不自然だ.

たぶん,20年後にはディープラーニングは研究されてないと思うよ.あれって,要するに入力ベクトルをひどく簡単な出力ベクトルに変換するだけの組み合わせ回路じゃない.研究する部分なんかないよ.

Google TPU2が今のところ最高性能

Interface誌の2018年2月号に,世界のAIチップの比較表が載っていた.GoogleのチップTPU2は性能の絶対値でも,性能消費電力比でもトップだった.すごいなGoogle.TPU2を超えたいものだが,FPGAでは無理そうな感じだ.リコンフィギャラブルな点を生かした特長がないとFPGAの立ち位置がないなあ.

同じ2月号の27ページに胸のすくようなインテルの発言が書いてあった.引用記事はもうなくなったみたいなので,そのまま書き写しておく.


GPUにはマシンラーニングに必要のない電気回路が数多く存在する.長年にわたって蓄積された価値のない回路で,非常に数が多い.

ニューラルネットワークは非常にシンプルで,ちょっとした行列の乗算と非線形性で成り立っている.直接シリコンを構築して行うことも可能なのだ.ニューラルネットワークのアーキテクチャに非常に忠実なシリコンを構築すればいい.これはGPUにはできないことだ.


もっと言ってやれと応援したくなるが,こうなると私の敵はnVidiaではなくてインテルになるのかもしれない.nVidia相手なら私でも勝てると踏んでいたが,インテル相手だと勝ち目がないような気がする.インテルってアルテラも買収しちゃったからね.

TMS320C30の思い出

1980年代の終わりにとある大学のプロジェクトに参加した.10人くらいのプロジェクトでとあるシステムを研究開発していた.私はメカエンジニアとして参加したのだが,プロジェクトのメンバーのレベルの低さに唖然としたことを覚えている.システム制御にはTIのプロセッサ(当時はDSPと呼んでいた)TMS320C30を採用していた.ソフト担当者がこれのファームウェアを書いていたのだがCコンパイラを使っていた.DSPなんだからアセンブラで書けよと思ったが,それは大した問題ではない.びっくりしたのは「高速化」と称して計算をすべて整数で行っていたのだ.おいおい,TMS320C30をなぜ選んだんだ.TMS320C30は32ビット浮動小数点の積和を1クロックで出来るのが売りの最新鋭DSPだよ.整数の演算も1クロックだ.わざわざ実数を整数へ変換して計算するメリットなどない.桁あふれや丸め誤差が出て却ってマイナスだ.そのことを説明したが誰も分からなかった.TMS320C30を選んだのは「いちばん高いからいちばん性能が良いと思った」からだ.ああ,税金の無駄遣い.というよりこんな連中に給料払っているのが税金の無駄遣い.こんなんに教わる生徒は気の毒だ.

その後,私がシステムの改良をすることになって(なぜメカエンジニアがソフト書かなきゃならないのとは思ったが),ファームはアセンブラで書き直した.もちろん分岐命令は遅延分岐を使った.性能が一桁上がった.過剰性能になったので,次のバージョンではDSPを固定小数点のTMS320C50に変えた.コストが一桁下がった.この件で自動車メーカーでエンジン制御のCPUプログラム書いてる人の方が大学の先生より頭が良いことが分かった.最近のディープラーニングの(アプリの方ね)研究をしている連中はなんとなくこのときの大学の先生と同じ香りがする.

ディープラーニングで衣類を折り畳む「ランドロイド」

衣類を自動で折り畳む技術が紹介されていた.技術者ががんばったのは分かる.分かるんだが,1枚畳むのに15分はちょっと...価格も185万円と車並だし...うーん,ディープラーニングの使い道を間違っている気がする.ディープラーニングは銀行員とか証券マンとか弁護士とかの,実はすごく簡単な仕事をしている連中の代わりをするのは得意なのだから,そういう連中の代わりに仕事をさせれば良い.洗濯物を畳むような高度な仕事は人間がやった方が良いと思うよ.なんでも機械にやらせる必要はない.

if文のコストを知らない世代

ニューラルネットワークの高速化の論文にconditional computationが出てくるが,ため息が出る.アセンブラとかマイクロプログラムとか遅延分岐とか書いたことがないのだろうな.というかそもそもCPUの内部構造を分かっていない.予測分岐では対応できない.こんな連中ばかりだから,たまにハードを分かっている人が真剣にアルゴリズムを考えると性能がどかんとアップしてびっくりされるんだけど.中身を分かろうとしないのは最近の風潮なのかね.そんなんじゃGPUも使いこなせないだろう.わたしゃGPUは仕事の割に電気を喰うので嫌いだけど.