Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
LT_20191211.pdf
Search
Shuntaro Ohno
December 11, 2019
Science
0
32
LT_20191211.pdf
Rust LT #7.
I talked about Neuro-Simulation in Rust.
Shuntaro Ohno
December 11, 2019
Tweet
Share
More Decks by Shuntaro Ohno
See All by Shuntaro Ohno
JP - Baruch et al. A Little is Enough: Circumventing Defenses For Distributed Learning
doraneko94
0
72
Neural Trojan mini review
doraneko94
0
73
Training Neural Networks with Local Error Signals ver20190808
doraneko94
2
140
Combinatorial optimization with graph convolutional networks and guided tree search ver20190803
doraneko94
0
85
Other Decks in Science
See All in Science
局所保存性・相似変換対称性を満たす機械学習モデルによる数値流体力学
yellowshippo
1
310
論文紹介 音源分離:SCNET SPARSE COMPRESSION NETWORK FOR MUSIC SOURCE SEPARATION
kenmatsu4
0
310
データベース08: 実体関連モデルとは?
trycycle
PRO
0
930
03_草原和博_広島大学大学院人間社会科学研究科教授_デジタル_シティズンシップシティで_新たな_学び__をつくる.pdf
sip3ristex
0
600
AIに仕事を奪われる 最初の医師たちへ
ikora128
0
970
地表面抽出の方法であるSMRFについて紹介
kentaitakura
1
870
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
130
生成検索エンジン最適化に関する研究の紹介
ynakano
2
1.3k
ttl2html (RDF/Turtle to HTML)
masao
0
110
機械学習 - K-means & 階層的クラスタリング
trycycle
PRO
0
1k
データベース14: B+木 & ハッシュ索引
trycycle
PRO
0
450
機械学習 - ニューラルネットワーク入門
trycycle
PRO
0
850
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Building an army of robots
kneath
306
46k
Building Applications with DynamoDB
mza
96
6.6k
It's Worth the Effort
3n
187
28k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
How GitHub (no longer) Works
holman
315
140k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Navigating Team Friction
lara
189
15k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Typedesign – Prime Four
hannesfritz
42
2.8k
Transcript
neuRo- enthUsiaST for Rust でシミュレーションをしたら、とても良かった話
自己紹介 Name: Shuntaro OHNO Twitter: @doraneko_b1f Github: @doraneko94 URL: http://ushitora.net/
富山大学医学薬学研究部 生理学講座 博士課程1年 脳科学の研究室 みんながマウスで実験をしているなか、ラボ内でひとりだけ コンピュータシミュレーションを行っている人 この LT で用いたコードの詳細は、 「神経科学アドベントカレンダー」の12月11日分として、 明日の今頃には投稿されているはず。。。
このライトニングトークは、「なんか格好よさそうだか ら」という理由でオライリー本をAmaz〇nしてRustを始 めてみた初心者が、本職の神経回路シミュレーションで Rustを活用してみたところ「これめっちゃいいやん」と いうことに気付き、これはぜひ広めなければならないと 思ったものの、神経回路シミュレーションなんてやって る人間はあまりにも少ないという世界の真理にくじけ、 いやしかし、この利点は一般的なマルチなエージェント を扱うシミュレーション全般に言えることだという事実 に奮起し、「やはり布教しなければならぬ!」という使
命のもと、マルチエージェントのシミュレーションに Rustを使うといいことあるよ的なことを伝えるために実 施するものである!!!!!!!!!!!!!!!!!
よくわからない連中が、 よくわからない感じにつながっている…
Soma (細胞体) Dendrite (軸索) Synapse (シナプス) とりあえず、 動かしてみようってわけ。 = −
+ + 閾値を超えたら発火(ファイア)
1 0 1 1 0 1 0 0 1 1
0 0 1 0 1 1 ? ? ? ? さっきの神経活動 これからの神経活動 まだ見てないのに、 勝手に変更しないでくださる!? コンパイラ激おこ案件…?
これが、神経界隈のヒエラルキーだ!! 挑戦者
あなたが 安全性を保障しなさい!!
struct Neuron { synapses: Vec<usize>, weights: Vec<f64>, v: f64, i_ext:
f64, threshold: f64, t_rest: f64, } impl Neuron { fn new(n: usize) -> Neuron { // パラメータを設定 } fn run(&mut self, spike: &Vec<u8>, dt: f64) -> u8 { // 微分方程式を処理 } } 個々のニューロンをstructとして作る ひとりで活動できるように
struct Network { n: usize, neurons: Vec<Neuron>, count: usize, }
impl Network { fn new(n: usize) -> Network { // いつもの } fn run(&mut self, spike_train: &Vec<Vec<u8>>, dt: f64) -> Vec<u8> { // いろんな関数 } fn input(&mut self, current: f64) { // いろんな関数その2 } } 親玉がいた方が便利な気がする 親が走れば子も走る
Result Time (ms) #neuron V (mV) Time (ms)
あたしは友達が多いから、 特別扱いしなさいよ!! 線虫の神経回路網 均等に並列化…?
まとめ 1. マルチなエージェントの操作には、Rustの安全性がありがたい ✓ しみる 2. エージェントを一括支配する存在がいた方が便利? ✓ 読みやすさのうえでも 3.
エージェントのタスク量を見て、並列する ✓ 世界はべき乗則
None