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
2025-06-11-ai_belgium
sofievl
1
150
06_浅井雄一郎_株式会社浅井農園代表取締役社長_紹介資料.pdf
sip3ristex
0
620
データベース15: ビッグデータ時代のデータベース
trycycle
PRO
0
350
Hakonwa-Quaternion
hiranabe
1
130
データベース11: 正規化(1/2) - 望ましくない関係スキーマ
trycycle
PRO
0
940
My Favourite Book in 2024: Get Rid of Your Japanese Accent
lagenorhynque
1
110
データベース01: データベースを使わない世界
trycycle
PRO
1
770
CV_3_Keypoints
hachama
0
200
AIに仕事を奪われる 最初の医師たちへ
ikora128
0
970
AIによる科学の加速: 各領域での革新と共創の未来
masayamoriofficial
0
110
機械学習 - DBSCAN
trycycle
PRO
0
1k
01_篠原弘道_SIPガバニングボード座長_ポスコロSIPへの期待.pdf
sip3ristex
0
660
Featured
See All Featured
Done Done
chrislema
185
16k
A better future with KSS
kneath
239
17k
Why Our Code Smells
bkeepers
PRO
339
57k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Code Review Best Practice
trishagee
70
19k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.7k
Rails Girls Zürich Keynote
gr2m
95
14k
How to train your dragon (web standard)
notwaldorf
96
6.2k
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