医mportブログ

雑記っき

2021年抱負

あけおめです、今年は技術書を中心に読んでいくのと、微力ではありますが携わせていただいている研究のお手伝いを本格的に進めていくことを念頭に置いて過ごしていきたいと思います。

ひとまず計算論的精神医学など1度読んだ本をもう一度読むのと、先述の通り以下のような本をしっかり読んでいきたいと思います。


Pythonによる ベイズ統計学入門 (実践Pythonライブラリー)

Pythonによる ベイズ統計学入門 (実践Pythonライブラリー)

  • 作者:中妻 照雄
  • 発売日: 2019/04/15
  • メディア: 単行本(ソフトカバー)


Pythonによる深層強化学習入門 ChainerとOpenAI Gymではじめる強化学習

Pythonによる深層強化学習入門 ChainerとOpenAI Gymではじめる強化学習

  • 作者:牧野 浩二
  • 発売日: 2018/08/17
  • メディア: 単行本(ソフトカバー)




あとは技術書というわけではないですが2020年12月24日に出たばかりで気になっているこちらの本も読みます。


研究では信号処理を主にやることになりそうなので、工学部時代の記憶を掘り起こすのとMATLABは触り始めなのでそちらも調べつつ進められたらと思います。




あんまし大々的な目標を立てると計画崩れすることは経験上わかってますので(笑)  上記のことが年内にしっかりできれば御の字ということで!



ちなみに去年は甘利先生の脳の計算論を読んだり(全然理解できていないので今年と言わず長いスパンで次の機会に読み直します)、計算論的神経科学の英書を輪読したりはできましたが、技術書関連はあまり手を出していない上に、哲学書中公新書のような随筆系?を主に読んでいた(コロナで暇すぎてだな)こともあり、それはそれでよかったんですけど、まあ工学部時代についた癖なのかわからないですが目に見える成果物を求めるところがあり、そういう意味でも技術書の必要性に(勝手に)迫られているわけであります。



コロナ禍がどうなるかはわかりませんが、できることを着実にやっていきます。

ベイズ最適化の可視化をやってみました

こんにちは、医mportです。

最近理論の勉強ばかりに時間投資をしていたんですが、実装欲と言いますか、もともと工学畑でもあったせいか手を動かしたくなってました。


そこで、計算論的精神医学でも多用されているベイズ(特に統合失調症のモデル)周りでなにか応用しようかなと考えた時に最適化過程を見れる


ものなら見てみたいという思いで今回やってみました。


ベイズ最適化はハイパラ探索で主に使われます。


いつも通り、どうせ適するライブラリがあるんだろ?と期待してたら、やはりありました。GPyOptというライブラリですね。


まずはテキトーにx,y,z座標における非線形関数を定義してx,y座標でスライスしたグラフを見て見ます、等高図っぽいやつですね。

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3, 3, 100)
y = np.linspace(-3, 3, 100)

X, Y = np.meshgrid(x, y)
Z = 0.05*(X**2+Y**2-20)**2 + 10*np.sin(2*X)

plt.figure()
cont = plt.contour(X, Y, Z, cmap="Greys")
cont.clabel(fmt='%1.1f', fontsize=14)
plt.xlabel("X")
plt.ylabel("Y")
plt.show()

f:id:doinakadoctor:20201002174831p:plain

見た感じ、右側の山の25あたりが最高値であることが検討できますが、客観的にどこが頂点なのかベイズ最適化をしていきます。


ここでの注意点はGpyOptは最低値探索であるので今回の最高値探索に適応するためにz値に画一的にマイナスをかけたところです。

import GPy
import GPyOpt
import numpy as np  
def f(x):    xx,y = x[:,0],x[:,1]    z = -(0.05*(xx**2+y**2-20)**2 + 10*np.sin(2*xx))
    print(-z)  
  return z 
bounds = [{'name': 'xx', 'type': 'continuous', 'domain': (-3,3)},          {'name': 'y', 'type': 'continuous', 'domain': (-3,3)}] 
#ベイズ最適化myBopt = GPyOpt.methods.BayesianOptimization(f=f, domain=bounds)myBopt.run_optimization(max_iter=30)

result_x = myBopt.X
result_z = -myBopt.Y

plt.figure()
cont = plt.contour(X, Y, Z, cmap="Greys")
cont.clabel(fmt='%1.1f', fontsize=14)
plt.xlabel("X")
plt.ylabel("Y")
sc = plt.scatter(result_x[:,0], result_x[:,1],s=50,
 c=range(len(result_x)),cmap="autumn")
plt.colorbar(sc)
plt.plot(result_x[:,0], result_x[:,1], linestyle="dashed")
plt.show()

結果がこちらです。

f:id:doinakadoctor:20201002175753p:plain


黄色くなるほど最新の探索結果となりますが、だんだん25付近に近づいてるのがわかります。

とはいえ、一旦山を降りてたりするのですがこれは見落としを防ぐための措置なのかな?と考えます。

脳の意識 機械の意識 が面白すぎた件

こんにちは、近頃ブログサボりすぎてましたがぼちぼちまた書いていきます。


今回は、もともと自分の関心領域でもあった意識について、それも機械に人間の意識を移植できるのではないかという仮説を元に説明していただいてる本を読んだのでご紹介いたします。


著者は東大工学系研究科准教授の渡辺正峰先生で、工学研究者の立場から神経科学の研究をされている方です。


本書の流れとしては、感覚意識体験やクオリアの説明から入り、これまでの神経回路網にアプローチする実験の紹介、意識を統合する仕組みについての知見に関する記述、最後に今後の展望といった感じです。


医学部の神経生理の授業で概要はつかんでいたからこそ読みやすかったのかもしれませんが、客観的に見てもかなり掘り下げて書いてくださってるので実験説明の部分もそれほど苦しまず読めるのではないかと思います。


それでは、本書で特に気になった部分をピックアップして自分なりの考察、感想を書き綴っていきます。

腹側経路の最高次の視覚部位といえども、そこに表現されている視覚情報は、見えるか見えないかの二者択一的な意識からは大きく乖離していることになる。

これは猿に両視眼闘争実験といって、左右の目各々に別の画像を見せて視覚刺激強度の強い方により片方が優位に神経活動に反映されるという実験で、ロゴシセスの100以上のnを誇る実験データによると8割以上のIT(下側頭葉皮質)がこの実験中の猿の知覚報告と一致している。しかし、残りの数十%は猿の意識の有無に関わらず反応してしまっているのである。そのため、この神経活動は無意識下で行われている可能性も捨てきれず、単に知覚と連動するなら意識の担い手であるかというとそうではないことを示唆している。

その後、第一次視覚野に関する実験でfMRIを用いる際に眼のある部分に着目して左右のニューロン群の神経活動の分離を図ってるのが画期的だった
たが、ネタバレは避けます笑

NCCを構成する神経回路網に特殊な状態が生まれさえすれば、リンゴのクオリアが発生する。本質的なのはNCCであり、覚醒中の網膜も、脳に蓄えられた記憶の中のリンゴも、それを手助けしているにすぎない。

NCCとはNeural Correlates of Consciousnessで、固有の感覚意識体験を生じさせるのに十分な最小限の神経活動と神経メカニズム、と表現されている。
例で言えば、目の前にりんごがあろうとなかろうと、目をつむろうとつむるまいと、頭の中には赤い某物体のイメージが浮かび上がる。つまり、別に対象が目の前になくても事象として脳が認識しているものであれば三次元再構成をできてしまう。主体はNCCにより構成された三次元世界であって、眼前の事象は三次元世界との誤差調節のためでしかないと理解する。NCCを再現できればたとえ機械でも意識が生じそうな気はする。

チャーマーズの「情報の二相理論」で言えば、その検証には、ニューロンの発火・非発火といった情報の側面だけを脳から抽出してやる必要がある。

これはまさしくそうだと思ってます、ニューロンの発火にはイオンチャネルの開閉など生物現象が絡まった上で成立しているので純粋に無機的な要素を取り出せるかというとかなり難しそうではある。一方で本書でも紹介されていたペンローズとハメロフのマイクロチューブル内部には情報処理素子としての役割は無く、そこに量子力学的作用が働くこと自体が意識の源であるとするのは無理があろうと私としても思われますね、、、笑

ヒトの脳には、千数百億個のニューロンが存在し、それぞれが数千個のニューロンから入力を受け、数千個のニューロンへと出力している。半導体技術に劇的な進展がない限り、人工物で、ヒトの脳の規模と複雑さを実現するのはほぼ不可能だ。

一から人工物の神経回路網全てを再現しようと思うと途方に暮れるが、チャーマーズの提唱した「フェーディングクオリア」という100%生体脳から1本1本生体脳にバレないようにコンピュータシミュレーション上のニューロンに置き換えていけば最終的には人工脳の完成で感覚意識体験も失われることもないと結論づけた逆転の発想が有力のよう。いやそれも大変じゃんと思うけども笑 ただ、多数同時に接続しているニューロンがあるとしたらそのひとつの置き換えに生体脳が支障をきたしたとして果たしてどの部分が原因なのか、組合せ論でいえばΣnCr通りあるわけでそれが多発したら一生かけて終われる作業では依然として無い気はする、、

ただし、仮に、高次の視覚部位に高精細の視覚情報が存在したとしても、それだけでは、我々の感覚意識体験が成立しない可能性は高い。イギリスの脳科学セミール・ゼキは、中次の視覚部位である第4次視覚野の限局的な損傷によっても、一切の視覚的な夢が見られなくなったとの症例を報告している。

最高次の視覚野では人間が見ても理解できないおぼろげで記号的な表象がストックされているようである。pythonのcifa10の学習過程を思い浮かべれば話が早い。この部位のみで感覚意識体験が体現されるわけではないことを上記の引用では示唆していて、というのも中次部位の損傷で視覚的な夢が見られなくなったからである。ということは、高次から中次へと次元を降るその過程で感覚意識体験が生じてくるのではないかと個人的には考える。

生体の脳同士といえども、相方の巨大で複雑な神経回路網の解剖学的構造など、なにも把握しようがないということだ。

左右の脳をつなげている前交連の神経繊維の数は脳梁よりもはるかに少なくて2000~3000万程度にすぎないのでそこと特異的な接続部位の把握さえクリアすれば別に左右お互いの脳の詳細な神経回路網の構造や解剖学的な様態はおかまいなしという結論である。これにはハッとした。この本の最終目的は機械に意識を移植することであるので例えば半分生体脳、半分機械脳でその2000~3000万の神経繊維接続するインターフェースを再現して二者間での意識の統合が図れうるのである。感覚意識体験についてはマウスの比較課題遂行スコアで十分に測定かのうであるとのこと。


コロナの自粛期間に読みふけっていました、SFチックされど神経科学に基づいて現実味を忘れていないテーマで非常に面白かったです。Google最高技術顧問のカーツワイル氏は、21世紀半ばには意識の機械への移植がなされるとはっきり述べているようでホットなテーマでもあるようです。医師となった時ヒト応用する際に自分がそこに参入する余地は十分にある気はするので、基礎的な知識をつけこの研究に加わってみたいとおぼろげに思いました。なにより面白いにつきる(n回目)

純学習とゲノム情報との関係を人工神経回路から見るという論文を読んだ

こんにちは、コロナ騒動による自粛ムードで暇なのでなんかおもしろい論文でもないかなと探していたところ、nature communicationsで2019年に投稿されたこんな論文があったので読んでまとめて感想書いてみます。流し読みなので細かいところはスルーです


www.nature.com



ANN(artificial neural network)という名前が示すように、動物、特に人間の知能に近い神経回路システムを構築するという試みでありますが、実際の動物は学習と生来持っている遺伝情報に大きく依存しており、ここの世代間のゲノム情報に刷り込む獲得機能はどのようなメカニズムなのかということをテーマにしてます。

ANNと人間が生来持っている情報の違いがわかりやすいのがこの論文中のFigureで、2,4,6,8,と数字を並べていって次にくる数字は?と尋ねられたら10と答えるのが人間ですが、ヘタに重回帰分析をしてしまうとデータ数が少ないのもありますが線形と捉えなくなります。こういうので、生得的な補完機能があるのではないかということを示唆しています。
f:id:doinakadoctor:20200327172835p:plain



学習は動物の経験によるもので、情報に重み付けしてヘブ則に従って情報受容後選択的に学習してます。


しかしすべての事象をゲノムに刻めるわけでもなく情報のボトルネックが生じてしまう上、特に人間のゲノムサイズは魚類の40分の1となっており、生誕後学習に寄与する部分が生物平均から見ても大きいと見受けられます。

実際人間の赤ん坊は生誕後すぐに独り立ちできないが、鹿の赤ん坊なんかはすぐ立ち上がって歩けるところからも納得できますね。



学習するにもさらに制約条件(それが生きる上で有利か)がありこれはメタ学習とか機械学習で言われるところの帰納バイアスが似たようなもので、これによってスムーズな学習が実現できるようです。しかもそれがゲノム情報に寄与するところが大きく、学習過程が教師なし学習に見えて実はみえないところで教師あり学習ではないかとささやかれています。


そのような制約があれど、やはり人間は他の動物に比べて学習の自由度が高くて、おそらく哺乳類で生後一番弱いのは人間なんですけど(立つこともままならないので)裏を返せば自ら学習すべきメモリ容量がだいぶ残されてるということであり、指数関数的に、そして漸近がかなりあとで来るのは後々有利ということなのでしょう。



という以上の知見からも、ただ単にデータ量を増やす、ただ単に素子とノード、層の羅列で人間の脳が再現できるかというと全くそうではなく、ゲノム情報も含めて再現していく必要がありそうだとわかります(それはそう)。しかし情報を根回しするのにも神経回路が必要なので、ゲノム情報から形成されてる神経回路と生誕後の純学習で形成される神経回路でまた毛色が違うのでは?と思ってるのでそのへん詳しいのがないかサーベイしてみたいです。

脳の計算論を読んで勉強が必要だと思った分野をまとめてみた

久しぶりの更新となります。

正月に入った臨時収入()により購入した「脳の計算論(甘利俊一監修)」を一通り読み終わったので、その上で今の自分になにが必要なのかまとめ上げようと思い立ちました。


まずこの本一回通して読んだだけでは深淵まで理解することはできないと踏みましたね笑 もともと甘利先生が天才すぎて彼の著書は軒並み激ムズと評判でしたが、、、


なんとなく言ってること、向かってる先はわかったけどもそのプロセスを理解したいといった場合にどういった事前知識が必要であったかを書き綴ります。


ただし、基本的な線形代数だったり大学教養で学んであろうものは身についてることを前提とします。

羅列になってしまいますが、、


第1章は総論だから飛ばして、、


第2章 ニューロンシナプスの数学的モデル

・ホジキンハクスレイモデル
・双安定ニューロンモデル
・Izhikevichモデル

第3章 リズム活動と位相応答

・位相縮約法
・位相応答関数
・随伴方程式
・Stuart-Landau方程式
・サドルノード分岐
・フォッカープランク方程式
・線形安定解析
・中心多様体定理

第4章 神経ダイナミクスと確率過程

・ガウシアンノイズ
・キュムラント
・ランジュバン方程式
・確率偏微分方程式
・ウィンドウ関数
・自己組織化
・シンファイアチェイン

第5章 意思決定とその学習理論

・符号化理論
・フィッシャー情報量
ベイズ理論
・情報幾何学
・カルマンフィルター
・レスコラワグナー学習則
・TD学習
マルコフ決定過程
・ベルマン方程式

第6章 スパイクの確率論

ベイズ推定
・MAP推定
・PM推定
・離散フーリエ変換

第7章 スパイクニューロンの回路モデルと認知機能

特になし


以上、箇条書きになりましたがけっこう深掘りして理解しなきゃなという要素だらけです、でもどれも面白そうですしこれら身につけて医学部卒業できたらもうその時点でただの医師免許ホルダーにはならないんじゃないかな?(自己満)

ひとまず2020年に読みたい本まとめてみる(随時追記予定)

こんにちは、現在医学部3年でそろそろ4年に上がろうとしてます。
4年にはCBTがありますが、QBまわしてたまにmedu4観て無難にこなしていこうと思います、それでも時間は余ると思うのでそこは有効活用して書籍読むなりコード書く練習するなり研究室に配属させていただいたりしようかなと!


ひとまず、神経科学系と機械学習系で分けて少しずつ読み進めていきたいです。


[神経科学]

計算論的神経科学: 脳の運動制御・感覚処理機構の理論的理解へ

計算論的神経科学: 脳の運動制御・感覚処理機構の理論的理解へ

  • 作者:田中 宏和
  • 出版社/メーカー: 森北出版
  • 発売日: 2019/06/14
  • メディア: 単行本


言語と思考を生む脳 (シリーズ脳科学 3)

言語と思考を生む脳 (シリーズ脳科学 3)


脳の計算論(シリーズ脳科学 1)

脳の計算論(シリーズ脳科学 1)


[機械学習]

パターン認識と機械学習 上

パターン認識と機械学習 上


ガウス過程と機械学習 (機械学習プロフェッショナルシリーズ)

ガウス過程と機械学習 (機械学習プロフェッショナルシリーズ)


機械学習スタートアップシリーズ ベイズ推論による機械学習入門 (KS情報科学専門書)

機械学習スタートアップシリーズ ベイズ推論による機械学習入門 (KS情報科学専門書)

  • 作者:須山 敦志
  • 出版社/メーカー: 講談社
  • 発売日: 2017/10/21
  • メディア: 単行本(ソフトカバー)

生命情報処理における機械学習 読んだ感想その1

こんにちは。
今回はお年玉をはたいて購入した書籍について軽く感想や要点をまとめていきたいと思います。
↓こちらの本ですね。


まず第1章は包括的な生命科学に関する説明が書かれてました。医学部では基礎医学の段階で習得するDNA、RNAの転写翻訳、また修飾のためのシスエレメントについてざっと述べてる感じです。
理工学系で生命科学初学、という方はここをじっくり読むといいと思われますが、正直医学部で基礎医学を経ている身ならば読み飛ばしてもかまわないです。



次に、第2章は多重検定と無限次数多重検定法について。
Mann-WhitneyU検定とt検定は独立2郡の差を検定するときに用いること、さらに母集団が正規分布に従わない際はMann-WhitneyU検定を採用するということを強調してます。
あとは統計量の近似が難しい場合はモンテカルロといった具合に、問題が生じたらこの手法、次はこの手法と説明してくれてわかりやすかったです。教養レベルの統計学の知識では知らないことも書いてありました、勉強になりましたね。


次に、GWASでは多数の検定が同時に発生するので帰無仮説に従っていても偽陽性が出現する確率の高まりを問題提起とし、有意水準の補正をBonferroni法,Tarone法を用いて説明してますが厳密な証明をしており割と長々としているので軽く斜め読みでいいと思います笑


殊、ゲノミクス解析の場合染色体上の塩基配列は鎖状はので近い同士にある変異郡は独立でなく従属性が強いため偽陰性率が高まります(ハプロタイプブロックというらしい)、その解決策が羅列されてました、ここでもモンテカルロに準じた多重検定補正が採用されてました。


M個の検定対象があったら2^M-1個の仮説を考えなければならないわけですが、無限次数多重検定法で頻出パターン解析をすれば計算量を効率化できるという記載もありました。補正後の有意水準δに対して変異の各要素の集合パターンの中で最小のP値が下回ったものだけを採用する方法ですね。


一般に遺伝子のゲノム網羅的な発現量の観測における話で、投薬前後で規定回数の発現量観測を行った上で前後間で帰無仮説、特にRNA-seqの場合は過分散発現なので二項分布を採用するようです。やはりここでも多重検定における補正をするのですがあまり厳しい評価の帰無仮説を採用しないほうがいいらしいですね(FWERよかFDR)


GOタームの説明はよくわかりませんでした笑 GO タームの中には色々遺伝子機能に関連した単語があってそれに結びつく遺伝子郡と、着目した検定対象の遺伝子郡と独立かどうかの帰無仮説を調べることによって遺伝子機能の共通性をみつける、、??ほぼスルーしました、


ひとまず、ここまで読んだ感想としては多重検定に対して行われる補正を紹介してもらってるな〜というざっくりとした感想笑 fMRIやPETでも調査するボクセルの多重性から補正せざるを得ないようなのでそのあたりの知識は今後肝に銘じなければなと思いました。


後半は推定問題が主なようです、がんばって読み進めます!