
من کل مغز یک میوه پرواز بر روی لپ تاپ خود را دارم.
…
خوب ، برای اینکه بتنرتر باشم ، من نقشه ای از هر ارتباط بین یک نورون و دیگری در مغز یک مگس میوه ، از جمله قدرت این اتصالات دارم.
در لپ تاپ من
طی چند هفته گذشته ، من سعی کرده ام راه هایی را برای زندگی این داده های خام به صورت بصری بفهمم. چیزی که می بینم چیزی که می توانم در مهمانی ها به دوستان خود نشان دهم زیرا من بدیهی است که نوع شخصی هستم که به مهمانی ها دعوت شده است تمام وقتحرف
مغز پرواز میوه تقریباً 140،000 سلول عصبی دارد و بین آنها 34 میلیون سیناپس (اتصالات) وجود دارد.
از نظر ذخیره سازی ، این ممکن است زیاد به نظر نرسد. از نظر محاسباتی ، این یک اتفاق واقعاً بزرگ است. فقط نقشه برداری از هرگونه ارتباط بین یک نورون می تواند به بسیاری از داده های اضافی ، حافظه و چرخه محاسبات منجر شود.
برای مرجع ، مغز انسان دارای 100 میلیارد نورون و در جایی در محدوده است 100 تریلیون تا 1 سیناپسی چهار پابه زودی من این شبیه سازی خاص از لپ تاپ خود را انجام نمی دهم.
من سعی نمی کنم نمای 1: 1 از شکل مشترک مغز پرواز میوه را ببینم. فقط اتصالات ، نورون به نورون به نورون.
چرا این کار را می کنم؟ سوال بعدی ، لطفا.
تعجب خواهید کرد که داده های خام در مورد این موضوع چقدر کوچک هستند: 64MB یا بعد از آن. این یک پرونده بزرگ CSV طولانی با 3 ستون است: “از” نورون ، نورون “به” و وزن اتصال ، یعنی. چه تعداد اتصالات سیناپسی بین این دو تا حدود 4 میلیون خط وجود دارد.
به عنوان یک جدول ، به نظر می رسد:
| fromNode | toNode | weight |
| m125 | m81905 | 2 |
| m527 | m2692 | 35 |
| m876 | m151 | 8 |
... 3 million, 999 thousand, 997 more times
“از Node” و “Tonode” هر یک یک نورون را با یک شناسه نشان می دهد: “M” برای مرد و سپس تعداد.
Docks Oki ، آیا نمایش نمودار نباید خیلی دشوار باشد ، درست است؟ من می خواهم بگویم که مطمئناً فقط نقاط و خطوط وجود دارد؟
در اینجا اولین تلاش من برای انجام این کار است:

این ، دوستان ، است فرض شده است بودن خیلی در برخی از پرونده SVG غول پیکر 500 مگابایت افزایش یافته است. پرونده SVG نوع خاصی از تصویر است که به موجب آن همه چیز به عنوان عبارات ریاضی ارائه می شود ، نه پیکسل. طرح کاملاً تصادفی است ، بنابراین هیچ گونه گره هایی که به عنوان نقاط کوچک سیان نشان داده می شوند وجود ندارد.
این تلاش برای نشان دادن آن در سافاری – شاید بیشترین کاری که من برای چنین کاری در دسترس داشتم – بدبخت ناکام ماند. پرونده SVG 500 مگابایتی ، هنگام تلاش برای تبدیل آن به پیکسل ها ، از رم بیشتری از آنچه که من در طول زندگی 37 ساله ام متعلق به من بوده است استفاده می کند.
با این حال ، او بیش از یک ساعت را صرف تلاش برای ساخت تنها یک قسمت مربع کوچک از تصویر کامل کرد. او هرگز موفق نشد.
من نسخه PNG آن را ساختم – این بار فقط پیکسل ها – اما به لطف قرارگیری کاملاً تصادفی همه نورونها ، دیدنی خیلی بهتر نبود.

من تا این حد نیامده ام تا الان تسلیم شوم. در حقیقت ، پس از یادگیری اینکه من به اندازه کافی از زبان برنامه نویسی جولیا برای تولید این داستانها آموخته ام ، به جای اینکه به طور تصادفی – کاری را که من در ابتدا سعی کردم انجام دهم – چیزی را با یک سیستم چیدمان مبتنی بر فیزیک امتحان کردم – و حتی اگر حدود 2 ساعت طول کشید تا فقط ترتیب نورون ها را محاسبه کنید …

سرانجام ، سرانجام با چیزی بیرون آمد.
چیزی کرکی و تاری ، اما یک چیز غیرقابل توصیف!

این کل کانکتور یک مگس میوه است که بر روی لپ تاپ محاسبه ، تولید و تجسم می شود.
این فقط آغاز همان چیزی است که من امیدوار بودم به آن دست یابم. مرحله بعدی یافتن یک الگوریتم طرح بندی است که می تواند نورون ها را در گروه های منطقی تر با اتصال آنها ترتیب دهد ، به عنوان محلات عملکرد و به دنبال آن خطوط جهت دار بین گره ها و وزن نشان داده شده به عنوان ضخامت خطوط.
در پایان ، با این حال ، کاری که من واقعاً دوست دارم انجام دهم این است که راهی برای شبیه سازی پتانسیل ها و تماشای جریان آنها داشته باشد ، از یک نورون شروع می شود و از درون شبکه عبور می کند و آن را به یک انیمیشن تبدیل می کند.
هیچ یک از اینها جدید نیست ، به خاطر داشته باشید. انیمیشن هایی وجود دارند که شبیه سازی های مشابه را نشان می دهند. من فقط می خواستم آن را انجام دهم از Mach Procter I.
من همچنین این نورون سیتین بائای کوچک را در تنهایی او پیدا کردم.
کد بسیار ساده است. من قبلاً هرگز علوم داده ای را انجام نداده ام ، حتی اگر من یک مهندس نرم افزار حرفه ای باشم. اگر بتوانم این کار را انجام دهم ، به هر کسی فکر می کنم. منظورم این است که چرا نه؟
اگر این پروژه به همه جا برسد ، من کمی github انجام خواهم داد. در حال حاضر ، شما باید از این امر راضی باشید:
using CSV
using DataFrames
using Graphs, SimpleWeightedGraphs
using LightGraphs, GraphPlot, Plots
# Read CSV files
male_edges_df = CSV.read("male_connectome_graph.csv", DataFrame)
# Function to strip non-numeric characters and convert to integer
function strip_and_parse(s::String7)
numeric_str = replace(s, r"\D" => "")
return parse(Int, numeric_str)
end
cols = eachcol(male_edges_df)
fromNodes = map(strip_and_parse, cols[1])
toNodes = map(strip_and_parse, cols[2])
weights = cols[3]
s = SimpleWeightedGraph(fromNodes, toNodes, weights)
plot = gplot(s)
display(plot)
داده ها یک مجموعه داده Connectome از پروژه Flywireحرف
آنها همچنین ابزارهای مبتنی بر وب دارند که می توانید از آن استفاده کنید و بدون نیاز به کثیف کردن دستان خود مانند من ، خودتان را برای کشف Connectome استفاده کنید. بسیار توصیه می شود
این نوع پست معمول من نیست ، اما اگر بیشتر می خواهید ، لطفاً به من اطلاع دهید و من آنچه را که می خواهند به مردم می دهم!
توجه : این مطلب از منابع غیر فارسی به فارسی ترجمه شده است و ممکن است شامل خطا و ایردات ترجمه ای باشد !


