計算科学研究センター 堀江 和正 助教
AI(人工知能)研究が花盛りです。最新テクノロジーのように思えますが、実はその研究は1950年代からずっと続けられてきました。アイデアはあっても、当時の技術の限界にぶつかって挫折する、という波を繰り返し、現在は第3次ブームと呼ばれる波の真っ最中。この波を起こしたのがディープラーニング(深層学習)という技術です。堀江さんが研究しているニューラルネットワークという手法も、人間の脳の働きを計算機上で再現するという理論自体は、AI研究が始まった当初から提案されていましたが、ディープラーニングが登場して、ぐっと応用の幅が広がってきました。
人間の脳内では、五感を通じて入力されたデータが、電気信号として無数のニューロン(神経細胞)を伝わっていく過程で、思考や認識といった処理が行われ、体の反応や行動として出力されます。ニューラルネットワークは、個々のニューロンで行われる入出力処理をモデル化し、それらをたくさんつなげて、複雑な脳の神経回路網を数式化しようとするもの。一つひとつの計算をどのように行うか、そしてそれらをどのように組み合わせるかによって、システム全体の性能が決まりますから、研究者の「腕」が試されます。
(学生時代は、好きなアニメの影響を受けて、ロボット制御の研究もしていた)
堀江さんは、ニューラルネットワークを使って、マウスの睡眠状態を自動判定するシステム「MC-SleepNet」を開発しました。睡眠研究は、筑波大学の特徴的な研究分野の一つです。睡眠には、覚醒、レム睡眠、ノンレム睡眠という3つのステージがあり、その状態は、睡眠中の脳波の波形などから判定します。判定マニュアルが作成されていますが、複雑な基準がたくさんあり、トレーニングを積まなければ正しい判定はできません。この、専門の技師が行う判定を自動化しようとわけです。
プログラミングのアプローチとして堀江さんが用いたのが、畳み込みミューラルネットワークという手法です。「畳み込み」というのは、ニューロンをつなぐ時に、全てのデータを渡すのではなく、少しずつ役割分担をして、局所的な計算を多層的に重ねるもので、ディープラーニングの基本となる考え方です。これによって、データのノイズやマウスの個体差を把握することができるようになりました。
また、システムの精度を上げるには、できるだけたくさんのデータを入力することが欠かせません。そこで、睡眠研究のグループが持っていた、4200匹のマウスについての睡眠ステージのデータを用いました。これは、睡眠時の脳波や筋電位といった生体信号のデータから、1匹につき2晩分のデータを取り、それを一つひとつ判定するという、大変な労力の賜物です。プログラミングも、チームを組み、手分けをして構築していきます。そうやって堀江さんのシステムは、従来研究の40倍もの膨大なデータを学習し、これまでにない高い精度で、睡眠ステージの自動判定を可能にしました。現在は、ヒトの睡眠ステージ判定への応用を研究中です。
(計算の対象となる課題を、よく知ることも大切。新しい研究テーマに取り組むたびに、いろいろな分野について学べるのも楽しい)
計算科学は、計算すべき課題があって初めて研究が進みます。堀江さんは、大学で、筋肉の動きのモデル化などの生体信号処理を学んだことから、主に医療関連の分野を研究の対象にしています。目標として考えているのは、どこででも最先端の医療が受けられるようなシステム。医師でも診断に迷うケースは少なくありませんから、そういう時に、AIが膨大な医療データの中から候補となる情報を提供してくれるような仕組みがあれば、大きな病院へ行かなくても適切な処置ができるはずです。
子供の頃からものづくりが好きだったという堀江さんは、高校生になってプログラミングを始めました。最初にチャレンジしたのは、カードゲームのポーカーでした。試行錯誤をしながら、最終的には自分の作ったものがちゃんと動くようになることが、ものづくりとして嬉しかったと言います。しかも、パソコンさえあれば、お金をかけずに楽しめるというので、どんどんプログラミングの世界にのめり込みました。一つの目的に対して、候補となるモデルをいくつも作り、できるだけたくさん試してみる、というのが堀江さんの研究スタイル。プログラミングを長時間続けることは、腰が痛くなるのを除けば、ちっとも苦ではありません。華やかなAI研究のイメージとは裏腹に、なかなか泥臭い作業ですが、それがニューラルネットワークを進化させる原動力です。