はじめまして(の方が多いと思うので…)yasuharuと申します。
普段は組み込み関係、特にファームウェアの開発やLSI検証のお仕事をしています。よろしくお願いします。
半年ぐらい前の記事になりますが、こんな記事が発表されました。
IBM、新型「SyNAPSE」チップを発表--認知コンピューティングの可能性を広げる - CNET Japan
http://japan.cnet.com/news/service/35052072/
記事を見た時「脳型コンピュータチップってなんだろう?」という感じでした。
最初はちょっと目新しいだけなのかな…と思っていましたが、読み進めていくとこれはいけるんじゃないか?と思いました。
特にLSIの開発に関わっていると、LSIの微細化の問題などにより性能の頭打ちは顕著に感じられます。
これなら近い将来もさらに計算機の性能があげられそうです。
ということで、今回は上記の記事の全容を見るべく、Congnitive Computingがどういうアイディアを
元にしているか・どういう世界を描こうとしているか、論文とともに紹介をしていきたいと思います。
IBMのCognitive Computingに関する研究は、最初にサルの脳の情報伝達の考察から始まり、Neurocynaptic Chipの設計、
スパコンを使った性能シミュレーション、ASICでの試作、アプリケーションへの展開と着実に進化を遂げています。
これらの研究は2011年頃から発表されており、IBMのresearcherであるDharmendra S. Modha氏が中心となって進めているようです。
今回はこれらのうち、サルの脳の情報伝達の考察、ASICでの試作の部分を取り上げて行きます。
まずはNeurosynaptic Chipの目標とするアーキテクチャを見ていきます。
発想の原点となるのは、サルの脳の仕組みです。
Network architecture of the long-distance pathways in the macaque brain
http://www.pnas.org/content/107/30/13485.full
Macaqueは「東南アジア、日本、北アフリカに分布するオナガザル科マカク属(Macaca)のサルの総称 」です。
(引用元:http://eow.alc.co.jp/search?q=macaque )
CoCoMacというneurosynaptic database(脳の部位ごとの情報伝達などを扱っているデータベース)を元として解析・考察したものがこの論文です。
ざっくり言うと、この論文から以下の知見が得られたようです。
このアイディアを元として、Neurosynaptic Chipの設計がされているようです。重要なのは、
という2点です。
ちなみに、この論文、普段読むようなシステム系論文とは異なり、脳神経系の単語がバンバン出てきます。読むのが大変でした…。
ASIC = Application Specific Integrated Circuit、つまり特定用途に特化したLSIです。
実際にLSIを作ってみましょうという話ですね。
一体どれだけのお金が…と言っても、自社のファブだから関係ないのかもしれません。
前置きはさておき、このASIC化について述べられた論文が以下のものです。
A 45nm CMOS Neuromorphic Chip with a Scalable Architecture for Learning in Networks of Spiking Neurons
http://www.modha.org/papers/013.CICC2.pdf
論文の前置きとして、一般的な脳の情報伝達はどうなってるのか?というのが少し書かれています。
これが肝になるアイディアなので、ちゃんと書いておきます。
(ただし、図はWikipedaから持ってきたもの、文章は論文からのものなので、図と文が一致しない部分があります。すみません、手を抜きました…。)
引用元:Created by Quasar (talk), http://ja.wikipedia.org/wiki/%E7%A5%9E%E7%B5%8C%E7%B4%B0%E8%83%9E#mediaviewer/File:Neuron_Hand-tuned.svg
このニューロンの構造を使って、Neurosynaptic Chipが作られました。このチップの特徴は以下のとおりです。
この回路は次のブロック図で表されます。
先の図で言うところのシナプスに相当するのが256x256のSynapse Array、これを中心として、
軸索からシナプスを通って樹状突起に作用する一連の流れを表します。
引用元:http://www.modha.org/papers/013.CICC2.pdf
外部からのスパイクを受けて、学習を行い、出力をします。特徴として、同じ構成のチップをたくさんつなげることで、スケールアウトが簡単にできます。
細かいニューロンの動きは今回は説明を省略させていただくとして、一番興味をもった部分は、Synapse ArrayのSRAMの構造です。
一般的なSRAMのトランジスタの構成は以下のとおりです。
しかし、今回の研究で使われているSRAMは以下の構造になります。
(図を読み解くヒントとして、下の図では値の記憶部分をインバータで表現していますが、上の図はトランジスタで表現しており、
これらは等価なものです。その点だけ気をつければ、違いは大きく一箇所のみです)
引用元:http://www.modha.org/papers/013.CICC2.pdf
要はrowとcolumn両方ともからread/write可能なSRAMになっています。
こうすることで、軸索(axon)に対応するrowの読み書き、樹状突起(dendrite)に対応するcolumnの読み書きを高速に行うことができます。
ざっくりとした話で、サルの脳から始まるアイディアとASIC化について書いてみました。
まだまだアプリケーションレイヤーの話などもありますが、一つの記事には長すぎるのでこの辺りでいったん終わりとします。
最後にまとめようと思ったのですが、実はこれだけの論文を読んだだけだと「サルの脳」と「ASIC化」の関連性がさっぱりとわかりませんでした…。
サルの脳の話はなくても…?という感じがしますが、もう少し読み進めてみないとわかりません。
ということで、ちゃんと物語としてまとまっているのか? あるいは、試行錯誤の中で(サルの脳の話は)うやむやになっているのか、
この続きは(反応があれば)リアルな場で発表したいと思います。
それではみなさん、良いお年を!
Advent Calenderの詳細はこちら:
システム系論文紹介 Advent Calendar 2014 - Adventar
http://www.adventar.org/calendars/440
実は18日担当だとずっと思い込んでいて、さっきちょうど記事が書き上がった。
1日余裕ができたので嬉しい誤算。
明日も明後日も飲み会なので、はやめにやっておいて正解だった。
眼がすごく乾燥して、充血したり眼がゴロゴロする感じがひどい。
コンタクトをつけているのが辛くなってきたので、早めに会社を上がって
家で仕事をすることにした。
家だとメガネがあるので多少は楽というのもあるんだけど、一番の問題は
社内の湿度が20%台まで下がることがあり、とてもじゃないけど眼に良くない。
(ちなみに、家の室内は40%〜50%に保つようにしている)
簡単に言ってしまえば、ドライアイ。
原因がパソコンとか普段の仕事にあると言われれば、そうですねとしか
言いようがないんだけど、ちょっと気になっているのが同時期に
左目の見え方に違和感が出てきたこと。
かかりつけの医者にも相談したけど、
「様子見てみて、とりあえずはコンタクトの度数を調整しますか〜」とそれだけ。
僕自身の感覚としては、それ以降、見えづらくなった分、眼を見開くことが
多くなったせいか、だんだんと眼の乾燥がひどくなった気がする。
一時期はドライアイの専門のところに行ってみたけど、
ヒアレインなどの点眼薬で対処療法のみ。
結局、根本的な原因がいまいちわかっていない。
まぁそんなこともありまして、ちょっと大きめの病院に行ってみようかなと。
「普段の生活が悪い、以上!」って言われるのでも構わないんだけど、
ちゃんと検査をしてみて欲しい。僕自身も何が起こっているかがわかっていない。
ということで、水曜日の午前に行ってきます。
毎年恒例のお歳暮、主に親とか祖父・祖母に送っています。
毎回毎回1時間ぐらい悩んで(探して)買うのですが、今回はこれにしてみました。
前者は洋菓子、後者はソーセージ。
特に後者は普段食べるにはお高いので、こういう時にこそ食べてもらって、
本当の味を知ってもらいたいというところ。
WITTAMER Online
http://www.wittamer.jp/shopping/index.html
METZGEREI KUSUDA
http://shop.metzgerei-kusuda.com/
喜んでもらえるといいなぁ。
NTSCの規格について調べていて、カラーの搬送波をどう配置するかとか、
細かい部分についても気になって調べていた。
まぁ仕様については調べてそのままなのでおいておくとして、
1つ気になったのはここで29.97fpsの理由がわかったこと。
今までなんでだろうなぁとずっと思っていたけど、
(簡単に言うと)モノクロ信号のみの時代から、カラー信号を乗せるようになった時、
電波障害を起こさないように帯域をずらした結果、元々は30fpsだったものが29.97fpsになってしまった、ということ。
詳しくはこの辺りを参照:
NTSC のフレームレートはなぜ 29.97fps なのか
http://www.kagami.org/diary/2004-12-07-1.html
こうして29.97なんていう不思議な数字が出てきたわけですね。。。
何かどうにかならなかったのかなぁと思っちゃうけど…。
アナログ放送も終わった現在、NTSCの規格なんて知っても意味が無いのだけど、
まぁ気になったので調べてみた次第です。
本や伝聞などで得られる情報は「知識」、それを組み立てて結論を導き出すことが「思考」
これはお互いに両立が必要なもので、どちらも十分に存在する必要がある
また「知識」は「思考」のショートカットであり、他の人が考えた「思考」を
一気に理解したり、「思考」のヒントになったりする。
このお互いの協調を繰り返すことで、知能は形成されると思うな。
教育をする上でどうするべきか考えると、もちろん書籍などで「知識」を得ることは
必要であると思う一方、「思考」のほうが鍛えられていないのではないか?
そんなことをふと思うことが多い。自分自身もそうだったと思うけど。
環境がそうさせたのか、教育制度の問題なのか、どちらも原因としてありそう。
先週の日曜日、はじめてスカイツリーに登ってきた。
見晴らしが良い…どころでもなく、やっぱ人多くてごちゃごちゃ。
あと自分が眼があまり良くないのもあって、何となくしか見られない。
双眼鏡があると良かったのかなぁと思った。
もうちょっと人が少なくなってから、ゆっくりと見たいね。
ようやく英語をそのまま読めるようになってきた。
頭のなかで日本語に訳さなくても読めるのは非常に快適。
ある時を堺にして意識が変わったので、突然スラスラと頭の中に入ってくるようになって、自分でも驚きだった。
気のせいか、左脳のあたりが動いているような感じがして、ちょっと気持ち悪い。
普段よっぽどか言語的なところを使ってなかったのか…。
RGB <-> YUVの変換について、あれこれと調べる。
最初はITUから仕様書ひっぱてきて、色変換のmatrixをExcelにまとめたり、
そこから逆行列を求めて、YUV -> RGBの変換式を求めたりしてた。
ただ、それだけじゃどうにもならなくなってきて、RGBの画像を与えたら、
BT.601/BT.709それぞれのYUV画像を出力するプログラムを実装していた。
作るのがすごく面倒だったので、集中して1時間ぐらいでがりがりとプログラムを実装。
特にはまることもなく、すんなりと実装終了。
こういう時、大学の時に画像圧縮の研究やってたおかげだよなぁとほんと思う。
クリッピングをどうするかとか、演算誤差がどうだとか、ちゃんと覚えてるもんなぁ。
最近の昼ごはんは家に帰るか、会社の中で済ませるかのどちらか。
ほとんど、外に食べに行くことはないです。
昨日は会社の人とお話がてら、久しぶりに外に食べに行ってきました。
エル セロ (EL CERO) - 末広町/スペイン料理
http://tabelog.com/tokyo/A1311/A131101/13058731/
行ってきたのはここ。夜はたまに行くことがあるんだけど、昼ははじめて。
料理は夜同様、美味しくて良かった。
秋葉原に似つかわしくない感じだけど、友人とかと飲みに行くにはオススメです。
日中は仕事。
何だかややこしい不具合か仕様かわからないものを見つけてしまい、
これの対処をもくもくとしていた。
このプロジェクトもそろそろ一区切りなので、あまり時間もなく、
9時頃まで粘ってみたけど理由が見つからず…。
まぁこういう場合は考えこんでも答えは見つからないことが多いので、
そっと一晩寝かせることにした。
帰り際、同じく帰ろうとしていた人と現在関わっているプロジェクトについて話し込む。
立ち話だったけど10時ぐらいから2時間半ぐらい話していて、
会社出たのが12時半(0時半です)だった。
いろいろと意見が交換できたので良かったな。
まぁあと少しなので、やり残しがないように進めてかないとな。
11月30日に知り合いが東京に来るということで案内。
スカイツリーが見たいということで、チケット取るのをお手伝いしたり、
次の移動場所までの移動方法を案内したり。
いきなり東京来て移動するって大変だよなぁと思った。
よくありそうな、スカイツリー → 舞浜と移動するケースを考えると、これが結構大変。
まずスカイツリー周辺はJRが通っていない。錦糸町まで歩くケースもあるけど若干遠い…。
乗り換え回数を最小にする場合、押上 → 大手町 → 東京 → 舞浜というケースになる。
最小でも2回となると、慣れてないと「そうなの?」っていう感覚になるかもしれない。
移動は大変だなと思った。
ちなみに、大手町 → 東京は僕は歩いて行けばいいじゃんと思ってたけど、
どちらもメトロでほとんどの場合、料金が変わらないこと、
さらに、半蔵門線の大手町駅はだいぶ神田寄りにあること、
などにより、一駅だけだけど丸ノ内線に乗ったほうが早そうです。
(さらに言うと、歩いていける大手町は東西線くらい)
乗る先が京葉線なら三越前経由で京橋で降りて、京葉線ホームに入る方法もありそうだけど、
この経路は試したことがないのでわからない…。地図上だと良さそうなんだけどね。
11月28日、29日と静岡旅行に行ってきました。
美味しい物食べて、ゆっくりできてよかった。
特に、2日目の三保の松原からの富士山が良かったね。
昼ごろまで雨で、この中移動することになるのかな…と思ってたら、
昼過ぎから晴れ始めて、ついた頃にはほぼ晴れに。
ちょうど富士山のあたりを覆っていた雲も流れて、良い景色が見られた。
そんなこんなで息抜きができたかな。
原油先物の価格がだいぶ落ちてきてるみたいだけど、
数カ月先には燃油サーチャージも連動して下がってくるのかな?
これが原因かわらからないけど、昨日の日経平均は少し下がり
気味だったにも関わらず、HISがだいぶ値上がりしていた。
海外旅行はたまに行ったりするので、航空券が安くなってくれれば
為替レートが悪くなっても、全体としてみればとんとんぐらいになるのかなぁ。
日中はお仕事。
ひたすら回路の検証。いろいろなパターンのソフトウェアを実装して、動かして。
実際に使ってみると「あれ、これ使いづらいんじゃ?」っていうところはちらほらあったりして、
その度に修正をお願いしたりとか。
残り時間もわずかなので、今のうちに後々後悔しないように作業を進める。
夜は明日の用事の準備。
これですべてが決まるわけでもないので、気楽にいきたいところ。
気楽な気持ちで行きたい一方、やっぱり気になることも多いね。
日中はお仕事。
金曜日の夕方に悩んでいた問題は、4kbyte境界をまたいだアクセスができないそうで…。
そういう指摘を早めに聞きたかんだけど、聞き方が良くなかったのかもな。
夜は最適化数学の本。2次関数の最大値・最小値を取る条件を見なおしてみたり。
一つ一つ紙に書き出してみて、ちょっとずつ理解を進めている。
朝と日中はぼちぼちとrailsでサービスを開発中
結構データ量が多くて、データベースのディスクも溢れそうなんだけど、
それ以上にメモリが足らなさすぎてまともにページを表示できない…。
サーバ自体を根本的に変えないとってのもあるけど、
サービスの作り方自体も根本的に考えないと…。
夕方はドトールにって、集中して英語の勉強など。
久しぶりにドトール行ってみて、コーヒーが結構美味しいことに気づいた。
スッキリとした味わいで薄すぎず、適当にコクがある感じ。
コーヒーはコクが強すぎると喉にまとわりつく感じがして、
あまり好きではないんだよね。
夜はどうしてもラーメンを食べたくなって、秋葉原のこちらへ。
麺屋武蔵 巖虎 (いわとら) - 秋葉原/ラーメン
http://tabelog.com/tokyo/A1310/A131001/13108635/
麺の量が1kgまでは自由に選べるらしい…。すごいな。
うん、確かに食べログの評価通り、美味しいね。
とんこつとかこってり系が好きな僕としては、ちょっと物足りない感じもしたかなぁ。
まぁそんな感じの一日でした。
何があったのかまとめるためにも、夜に日記書けるようにがんばってきます。。。
久しぶりにつくばへ。
本当は筑波山の紅葉のライトアップを見ようと思って行ったんだけど、
ちょうどつくばマラソンの日と重なっていて、筑波山までは行けなかった。
バス自体は確かに出ていたんだけど、交通規制とかで筑波山につくまでに
2,3時間かかるとのことだったので、結局断念した形。
大学を見て回ったり、百香亭に久しぶりに行ったりなどした。
つくば市内を歩くだけでも紅葉は十分楽しめるな、と思った。
また、つくばからTX乗って東京戻ってくると、やっぱり人混みだなぁと思う。
東京戻ってきてからは、紅葉のライトアップが見られなかったので、
急遽六義園に行ってみようかということに。
これはこれで、すごい人で何かどっと疲れた感じ。
この日は大切な日でした。
もう少し話が進んだら詳しく書こうと思う。
はじめて汐留のなだ万に行ってきた。
入る前までは特に何もなかったけど、入ってからは緊張。。。
まぁうまくいったから良かったかな。