「deep learning」カテゴリーの記事一覧
数学的に証明できる方が怪しい
積分型のニューラルネットワークに見切りをつけて,スパイキングニューラルネットワークの方を考えているが,先行文献を読んでいて「!?」と思った.直感的に動くと思われる学習則(しかもHebb則にのっとっている)を提案し,その学習が収束することを数学的に証明しているのだ.よくある論文のパターンだが,何かひっかかった.
学習が収束することを数学的に証明できるってことは,みんな利口になるってことじゃないか.個体によって利口さが違うことを説明できなくなるんじゃないか.なんだかおかしい.実際の生き物の学習は,数学的に証明できてはいけないのじゃないかと思えた.
私が見捨てたディープラーニングも,実は数学的証明を捨てて実利に走って成功している.数学的証明を捨てた割り切りの点ではディープラーニングを褒めたい.
アミノ酸は微分しない
ディープラーニングの研究を長くやってきたが,もう見限ろうと思う.ディープラーニングの枠組みでは,ニューロンをいくら増やしても,層をいくら増やしても,発明発見ができるような知能は生まれない.バックプロパゲーションで学習するというのは無理があると思う.本物の脳のメカニズムと違い過ぎる.アミノ酸がどんなにからみあったって,微分するようにはならない.エッジを見つけるような微分もどきはするかもしれないが,ニューロンの結合強度を調整するような微分を生物の脳がするというのはあまりに不自然だ.
たぶん,20年後にはディープラーニングは研究されてないと思うよ.あれって,要するに入力ベクトルをひどく簡単な出力ベクトルに変換するだけの組み合わせ回路じゃない.研究する部分なんかないよ.
Google TPU2が今のところ最高性能
Interface誌の2018年2月号に,世界のAIチップの比較表が載っていた.GoogleのチップTPU2は性能の絶対値でも,性能消費電力比でもトップだった.すごいなGoogle.TPU2を超えたいものだが,FPGAでは無理そうな感じだ.リコンフィギャラブルな点を生かした特長がないとFPGAの立ち位置がないなあ.
同じ2月号の27ページに胸のすくようなインテルの発言が書いてあった.引用記事はもうなくなったみたいなので,そのまま書き写しておく.
GPUにはマシンラーニングに必要のない電気回路が数多く存在する.長年にわたって蓄積された価値のない回路で,非常に数が多い.
ニューラルネットワークは非常にシンプルで,ちょっとした行列の乗算と非線形性で成り立っている.直接シリコンを構築して行うことも可能なのだ.ニューラルネットワークのアーキテクチャに非常に忠実なシリコンを構築すればいい.これはGPUにはできないことだ.
もっと言ってやれと応援したくなるが,こうなると私の敵はnVidiaではなくてインテルになるのかもしれない.nVidia相手なら私でも勝てると踏んでいたが,インテル相手だと勝ち目がないような気がする.インテルってアルテラも買収しちゃったからね.
ブルーマウンテン珈琲は遺伝的アルゴリズムで淹れる
私はブルーマウンテン珈琲が一番好きだ。何十年も前に喫茶店で初めて飲んだブルーマウンテン珈琲のおいしさに感動してからずっと好きだ。あの味を再現するために試行錯誤して淹れているのだが未だに満足できる味と香りにならない。珈琲淹れは難しい。パラメーターは以下の通り。
- 珈琲豆 100g 500円から2500円までいろいろある。もちろんブレンドではなく100%ブルマン
- 焙煎 変更したいが家に機材がないのでこれは豆屋さん任せ
- 挽き方 ミルの粗さつまみが30段階くらい変えられる
- 粉とお湯の割合 12gで180ccが基本だけど、粉の量を18gまで増やすことができる
- 一度に入れる量 12g(一杯分)から36g(三杯分)
- フィルター 紙フィルターが2種。ステンレスフィルターが1種
- お湯の温度 85℃から90℃
これらのパラメータを総当たりで試すと
5×30×7×3×3×2=18900
1日4回飲むから4回試行できる。すると全部を試すのに
18900÷4=4725日=13年
かかる。ブルマン以外の豆も飲んでいるから実際はもっとかかる。これでは死ぬまでに求める味を見つけ出すのは絶望的だ。喫茶店のマスターは短期間に美味しい珈琲を淹れる技を身に着けているのだからすごい。まさに職人だ。素人の私が総当たりではなく最適解を見つけ出すためには遺伝的アルゴリズムを使うという手がある。これはディープラーニングのハイパーパラメータの最適化をするときに覚えた。これを使えば時間を短縮できる。なんとか生きている間に美味しいブルーマウンテン珈琲を飲みたい。
ただし、悲しい情報もある。今はもうブルーマウンテン珈琲をおいしく飲むことはできないかもしれないのだ。なんでも昔はブルーマウンテンの豆を洗うのにジャマイカのおばちゃんがおしゃべりしながらだらだら洗っていた。それが今は機械で洗っている。本当かどうかは分からないが機械で洗うとおいしくなくなるのだとか。それが本当だとしたら、昔の味を再現することはもうできないかもしれない。何でも機械化するのはよくないという良い例だ。あとは自然災害。2012年10月にジャマイカを襲ったハリケーン「サンディ」により、多くのコーヒーの木が倒れるなどの被害を受けた。2013年、コーヒーの葉の光合成機能を奪い2~3年で枯らしてしまう、強い伝染力をもつ「さび病」と、コーヒーの実に入り込んで卵を産みふ化した幼虫が種子を食べてしまうコーヒーベリーボーラーの病虫害の被害が発生した。ブルーマウンテンの木が減ってしまったのだ。その中から選別するおいしい豆の絶対量も減っている。ブルーマウンテンを取り巻く環境はとても厳しい。おいしいブルーマウンテン珈琲を飲める日が来るのだろうか。
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は仕事の割に電気を喰うので嫌いだけど.