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
凸最適化からDC最適化まで
santana_hammer
1
270
Ignite の1年間の軌跡
ktombow
0
140
オンプレミス環境にKubernetesを構築する
koukimiura
0
320
LayerXにおける業務の完全自動運転化に向けたAI技術活用事例 / layerx-ai-jsai2025
shimacos
2
1.4k
mathematics of indirect reciprocity
yohm
1
160
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
130
データマイニング - グラフ構造の諸指標
trycycle
PRO
0
160
Celebrate UTIG: Staff and Student Awards 2025
utig
0
110
データベース04: SQL (1/3) 単純質問 & 集約演算
trycycle
PRO
0
980
CV_5_3dVision
hachama
0
140
機械学習 - K-means & 階層的クラスタリング
trycycle
PRO
0
1k
My Favourite Book in 2024: Get Rid of Your Japanese Accent
lagenorhynque
1
100
Featured
See All Featured
Six Lessons from altMBA
skipperchong
28
4k
Scaling GitHub
holman
462
140k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
The Cult of Friendly URLs
andyhume
79
6.5k
The Language of Interfaces
destraynor
160
25k
Designing for Performance
lara
610
69k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Facilitating Awesome Meetings
lara
55
6.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
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