Здравствуйте. Наверное, многие из вас слышали об искуcственном интеллекте и очевидно что это — важная тема, которая изменяет сегодня нашу жизнь. Над созданием ИИ работает множество учёных. На данный момент существуют два фундаментальных подхода: нейробиология и нейросети. Лично я считаю нейробиологию более перспективной, но менее развитой т.к. о том, как именно работают нейроны мы знаем сегодня всё ещё очень мало. Нейросети являются наиболее развитым подходом, который, однако фактически достиг пределов развития т.к. для улучшения результатов требуются всё большие и большие вычислительные ресурсы. Кроме того, его отношение к настоящим нейронным сетям и нейронам весьма опосредованное и представляет собой всего лишь приблизительную математическую модель.
Подойдём к вопросу иначе: если нейрон - это электрохимическая структура, то можем ли мы попытаться воспроизвести его химическую активность с помощью электронных компонентов? Другими словами, можем ли мы составить электрическую цепь аналогичную нейрону?
Cтроение
Итак, нейрон состоит из клеточного тела и специальных отростков - дендритов (в них поступает сигнал) и аксона (из него сигнал выходит). Между собой нейроны соединяются синапсами. Различают 5 видов нейронов: униполярный, псевдоуниполярный, биполярный, мультиполярный, безаксонный, каждый из которых имеет разное число отростков.
О функциях и строении нейронов мы знаем мало, но зато хорошо знаем о функции синапса - проведении сигнала только в одном направлении.
Вообще, они бывают двух видов: химические и электрические. Химические, проводят импульс только в одном направлении, они наиболее распространены. Электрические проводят импульс в обоих направлениях. Важная деталь в устройстве электрического синапса, заключается в том, что он соединяет не только внутренние части нейронов, но и внешние. Я считаю что ток идёт и внутри нейрона и снаружи, т.к. уже доказано, что внешняя часть электроположительна относительно внутренней. В дальнейших рассуждениях будем считать, что внешняя часть нейрона представляет минус, землю, а внутренняя плюс, сигнал.
Существует радиодеталь функция которой идентична химическому синапсу — это диод. Когда ток течёт только в одном направлении (от "плюса" к "минусу") диод не требуется. Но, если в каждом нейроне есть постоянно заряжающаяся и разряжающаяся часть, то чтобы при разрядке ток не пошёл в обратном направлении, он должен быть перекрыт синапсом.
Какая деталь могла бы смоделировать постоянную зарядку и разрядку? Такой деталью может послужить либо дроссель, либо конденсатор. Конечно, дроссель не мог бы сформироваться в настоящем нейроне т.к. катушка из проволоки имеет уже достаточно сложную форму для природного происхождения, но конденсатор — напротив, очень простая радиодеталь состоящая всего из двух проводящих пластин разделённых диэлектриком.
Скорее всего функцию конденсатора должно взять на себя клеточное тело. Конденсатор примечателен тем, что способен реализовать функцию памяти, ведь конденсатор способен держать заряд, а значит его естественная разрядка будет означать «забывание, очередная подача сигнала восстановит заряд.
Такая гипотеза имеет косвенное подтверждение в том факте, что область в которой мозг хранил бы память, так и не была найдена. Из чего можно сделать следующий вывод, что функция памяти осуществляется всеми видами нейронов, а как мы знаем: у всех видов нейронов имеется клеточное тело.
Униполярный нейрон
Униполярный нейрон имеет только один отросток - нейрит, выполняющий функции дендрита и аксона, т.е. сигнал по нему идёт в обе стороны. Предположим, что в униполярном нейроне одна пластина конденсатора будет соединена c нейритом, а другая с землёй. В таком случае наша модель (схема) сможет выполнять функцию памяти. Известно, что униполярные нейроны не встречаются отдельно, они всегда прикреплены к другим нейронам. Если основному нейрону не хватает ёмкости его клеточного тела (т.е. конденсатора), то к нему должен быть прикреплён униполярный. Выглядит логичным, что такая пара соединена электрическим синапсом, иначе бы это не работало.
Псевдоуниполярный нейрон
Чувствительный нейрон принимающий сигналы от органов чувств. Его схема почти идентична схеме униполярного нейрона, с той разницей, что это самостоятельный нейрон, отделённый диодом. Для его моделирования удобно использовать советские германиевые диоды т.к. они имеют меньшее сопротивление. Если схема верна, то единственная функция псевдоуниполярного нейрона должна быть запоминающей, но всё же можно предположить, что он делает что-то ещё. Возможно получить ситуацию в которой моделируется пороговая функция: т.е. малый сигнал не проходит, а большой проходит без изменений. Это выглядит аналогичным принципу известному из нейробиологии - "всё или ничего", но работает только при условии, когда после нейрона данного типа не подключается синапс (диод).
Биполярный нейрон
Биполярный нейрон имеет один аксон и один дендрит. Если предыдущие модели были верны, то этот вид нейрона должен иметь следующее строение: одна обкладка конденсатора соединяется с аксоном, а другая - с дендритом. Конденсатор при таком подключении не будет пропускать постоянный ток и не составит преграду переменному.
Можно предположить только одно применение биполярному нейрону: не давать неисправному органу чувств посылать неверные сигналы. По всему человеческому телу распределены тысячи рецепторов и в ситуации когда один из них перестаёт корректно работать, он будет либо молчать, либо непрерывно посылать сигнал. Жить в таких условиях стало бы некомфортно. Биполярный нейрон позволит условно выключить такой сенсор. Эта гипотеза подтверждается тем, что биполярные нейроны находят во многих органах чувств: сетчатке глаза, обонятельном эпителии, слуховом и вестибулярном ганглиях.
Соберём схему этого нейрона. Подаём на вход постоянное напряжение, и видим на экране вольтметра что оно быстро стремится к нулю из-за нарастающего сопротивления конденсатора.
Мультиполярный нейрон
Мультиполярный нейрон имеет один аксон и множество дендритов, т.о. он складывает все входящие в него импульсы в один.
Сложить напряжения можно было бы обычным последовательным соединением, но в случае когда сигналы с сенсоров будут равны нулю, такая схема работать не будет. Следовательно, необходимо параллельно сенсорам подключить два резистора (примерно 220 Ом, для схемы с двумя входами и 1 кОм для схемы с тремя), а так же не забыть про конденсатор. Тогда получится схема моделирующая мультиполярный нейрон. Модель является масштабируемой, т.е. можно складывать как два сигнала, так и (например) десять.
При обычном подключении в схеме складываются два напряжения, но если перевернуть полярность сенсора, то таким же образом можно и вычитать. Т.к. с сенсора будет приходить отрицательное напряжение, а схема всё так же выполняет сложение, то результатом станет вычитание (через сложение).
В нейробиологии известно о существовании возбуждающих и тормозящих сигналов. Предположим, что сигналы положительного напряжения являются возбуждающими, а отрицательного - тормозящими.
Проведём эксперимент:
При подключении кроны к одному из входов, получаем: +6 В.
При подключении кроны к другому входу, получаем также: +6 В
При подключении батареек сразу к обоим входам, получаем: +12 В
Теперь, развернём полярность одной (любой) из батареек, получаем: 0 В
Развернём полярность второй из батареек, получаем: -12 В.
Проведём ещё один эксперимент.
У нас есть три солнечные батареи подключённые через входы мультиполярного нейрона к одному светодиоду на выходе. На одну батарею постоянно падает свет, но напряжения с неё не хватает, чтобы заставить светодиод светить на всю мощность. Вторая батарея подключена так, чтобы напряжение на нейроне складывалось, а третья - перевёрнута. Тогда можно сказать, что одна батарея выдаёт возбуждающий импульс, в то время, как вторая — перевёрнута, и, следовательно, выдаёт тормозящий импульс. Если мы светим на одну панель, то светодиод начинает светить ярче, но если светим на другую, то он вообще перестаёт светить.
Безаксонный нейрон
У безаксонных нейронов невозможно выделить аксон или дендрит, т.к. всё его отростки одинаковы. В таком случае, по строению это просто мультиполярный нейрон. Но всё же, про безаксонные нейроны мы знаем очень мало.
Робот
Теперь, когда смоделированы схемы для всех видов нейронов, можно попытаться собрать робота. Самый простой способ движения для робота - это виброход. Возьмём два компьютерных вентилятора и приклеим на них гайки, а затем зафиксируем их на общем корпусе.
При подаче напряжения робот должен начать движение, но также хотелось бы научить его и тормозить. Здесь возникает проблема: всё датчики (касания, давления) доступные в продаже не выдают напряжения достаточного для проведения эксперимента. Поэтому, можно заменить датчик простой кнопкой. Однако, это имеет недостаток: при аналоговом датчике скорость вентилятора менялась бы в зависимости от степени нажатия, в то время как у кнопки всего два положения: нажата или нет.
Робот будет использовать три вида нейронов: униполярные, псевдоуниполярные и мультиполярные. На входе получившейся схемы нейросети устанавливаем два псевдоуниполярных нейрона, затем мультиполярный нейрон (на который постоянно подаётся положительное напряжение, но если нажать кнопку начнёт подаваться отрицательное). Параллельно конденсатору мультиполярного нейрона подключается конденсатор униполярного.
Здесь возникает следующая (опять, чисто электрическая проблема) - сопротивление диодов. Несмотря на то, что диодов в схеме всего лишь два, тока после них оказывается уже недостаточно для раскрутки вентилятора. В качестве обходного решения берётся транзистор, вентилятор подключается к эмиттеру, ещё один источник тока - к коллектору, а на базу подаётся напряжение с нейросети. Всего потребуются две таких схемы: по одной для каждого вентилятора, в результате робот оказывается состоящим из 8 моделей нейронов.
Если робот сталкивается с препятствием, то кнопка нажимается и один из вентиляторов перестаёт крутится.
Такой робот имеет преимущества по сравнению с подобным проектом на Arduino (если предположить наличие подходящих датчиков).
Во-первых, на Arduino такой проект работал бы как цикл, в котором сначала берутся значения с датчиков, считаются и только затем, соответствующие напряжения подаются на вентиляторы. Быстродействие простой электрической схемы значительно выше.
Во-вторых, простая электрическая схема проще и дешевле. Процессор используемый в Arduino UNO состоит из 100 000 транзисторов. Т.е. 18 дешёвых радиодеталей способны выполнить работу для которой обычно используются, как минимум 100 000 транзисторов.
Выводы
В данном проекте было осуществлено схемотехническое моделирование работы нейронов и их объединение в более сложные структуры — нейросети. Экспериментально был проверен и смоделирован ряд предположений касающихся природы нейробиологических явлений. Удалось создать модель простейшего робота.
Комментарии (15)
Qvxb
29.07.2022 18:51В таком подходе самое трудное это сенсоры имхо, представьте какая могла бы быть цепь которая анализирует видео поток 640х480, анализирует значит умеет например выделять контуры объектов/или разбивает картинку на сегменты с похожими цветами.
Sarjin
29.07.2022 21:01вроде на выходе из глаз происходит "упрощение" картинки. что-то отдаленно подобное делают с некоторыми сенсорами.
AlexeyR
29.07.2022 19:22+3По вашей теме была даже получена нобелевская премия https://ru.wikipedia.org/wiki/Модель_Ходжкина_—_Хаксли. Но настоящий нейрон работает совсем иначе, гораздо сложнее.
DIZZYLEO Автор
29.07.2022 19:53Да, я знаю, на мой взгляд эта модель опередила своё время ведь её используют до сих пор. Но, как я считаю, у неё есть недостатки. Прежде всего, она описывает потенциалы действия, в то время как нейрон рассматривается довольно абстрактно. Я же считаю, что нужно отдельно изучать работу каждого вида нейрона.
vabka
29.07.2022 20:10+7Может я просто не достаточно умный, но при чём тут нейросети и вот это всё размусоливание нейронов в самом начале, если показанный результат элементарно достигается при помощи самой обычной логики, без привлечения различных моделей нейронов?
Сравнение с Arduino в самом конце не очень валидно, как мне кажется, тк любой программируемый микропроцессор даёт гораздо больше гибкости, чем показанные «нейроны» и в принципе нужны они для других задач.DIZZYLEO Автор
29.07.2022 20:51Так об этом в статье сказанно. Естественно, результат полученный при использовании кнопки вместо датчика, можно повторить проще. Но если бы использовался подходящий датчик (которых я не нашёл), скорость куллера менялась бы в зависимости от степени нажатия. Более того, можно было бы использовать модель биполярного нейрона. Допустим робот неудачно врезался в препятствие и теперь датчик непрерывно посылает сигнал из-за чего куллер не крутится. Биполярный нейрон в таком случае заглушил бы сигнал с датчика и робот продолжил движение. Вот ещё пример работы биполярного нейрона: наш робот отслужил 10 лет и его датчик немного поломался. Теперь, когда на датчик не осуществляют нажатие, он вместо 0 вольт постоянно выдает 1 вольт. Биполярный нейрон такой сигнал не пропустил бы и робот продолжил работу как ни в чём ни бывало.
Да, сравнение не совсем валидно. Но и мои "нейроны" и Arduino могут выполнять поставленную задачу, а это наглядная битва аналога против цифры. Тем более что сейчас для нейросетей используют обычные цифровые компьютеры, поэтому в моём сравнении соревнуются всеобщий подход против моего.
Sarjin
29.07.2022 21:03"Нейросети являются наиболее развитым подходом, который, однако фактически достиг пределов развития т.к. для улучшения результатов требуются всё большие и большие вычислительные ресурсы. "
есть доказательства этого?
и если это так то разве биологические системы не требуют увеличения чего то для улучшения когнитивных функций?
DIZZYLEO Автор
29.07.2022 21:29-1Нейросети действительно являются наиболее развитым подходом, их работу можно увидеть практически на любом более менее известном сайте. Как пример вкладка "рекомендации" на YouTube. Для современных нейросетей нужно иметь неплохие видеокарты. Но допустим мы решили улучшить работу нашей нейросети, сделать больше слоёв или нейронов на слой. Для этого нам нужны видеокарты ещё мощнее.
По поводу эффективности биологических нейронных сетей проводились исследования, выяснилось, что с увеличением и усложнением нервной системы эффективность или роль отдельного нейрона в этой системе падает.
v1000
30.07.2022 00:4418 дешёвых радиодеталей способны выполнить работу для которой обычно используются, как минимум 100 000 транзисторов.
не совсем коректное сравнение. тут важны еще технологии и объемы производства. иногда более сложный чип произвести и дешевле, и быстрее. хотя сама идея использовать более простую элементарную базу довольно интересна. тем более что она более наглядна.
krote
30.07.2022 21:56+1Это точно - все вывернуто на изнанку. Скорее стоит сказать что 100к транзисторов иногда используют как кучку простых радиодеталей, используя их потенциал на доли процента.
phenik
30.07.2022 04:20+1На данный момент существуют два фундаментальных подхода: нейробиология и нейросети. Лично я считаю нейробиологию более перспективной, но менее развитой т.к. о том, как именно работают нейроны мы знаем сегодня всё ещё очень мало. Нейросети являются наиболее развитым подходом, который, однако фактически достиг пределов развития т.к. для улучшения результатов требуются всё большие и большие вычислительные ресурсы. Кроме того, его отношение к настоящим нейронным сетям и нейронам весьма опосредованное и представляет собой всего лишь приблизительную математическую модель.
Фундаментальный подход один — биологический, включая нейробиологию, второй вдохновляется идеями из биологических наук. ИНС действительно имеют серьезные ограничения, как по функционалу (на самом деле еще более серьезные связанные с отсутствием динамического режима функционирования), так энергоэффективности (первую очередь, из-за отсутствия импульсного режима). Решение в перспективе в развитии нейроморфных технологий. На Хабре эта тема хорошо освещается (1, 2, 3, 4, 5, см. поиск по Хабру). Необходимо иметь это в виду, если не хотите ограничиваться моделированием на коленках.
Manrus
30.07.2022 17:27Не уверен что повторять биологический нейрон лучшая идея. Это как попытка построить самолет копируя полет птицы.
sotoros
01.08.2022 09:35Удалось получить результат после сборки робота или нет? Если да, можете поделиться видео с демонстрацией?
DIZZYLEO Автор
https://www.youtube.com/watch?v=JN3cxpm19N0 - робот
https://www.youtube.com/watch?v=TYuL1XBKhJo - мультиполярный нейрон