Бытовой нейрокомпьютер "ЭМБРИОН"

Если вы пытливый и любознательный человек, если вы задумываетесь иногда о том, может ли компьютер иметь потребности и эмоции, как в бездушных железках могли бы зародиться психика, мотивы сложного поведения, - мы приглашаем вас с друзьями, интересующимися новыми направлениями развития вычислительной техники и проблемами искусственного интеллекта, умеющими мастерить и паять, в увлекательный путь по созданию моделей нейрокомпьютеров. Некоторые понятия будут вам, возможно, не знакомы, поэтому в конце статьи предлагаем СЛОВАРИК ОСНОВНЫХ ТЕРМИНОВ.

ЗАНЯТИЕ 1

Если у вас включён БК-0010, введите приведённую ниже программу "Эмбрион" на языке Фокал и запустите её командой G (разбор программы мы сделаем на втором занятии). На экране дисплея появится приглашение NS: - нейрокомпьютер "Эмбрион" ГОТОВ к работе. А вы, дорогой читатель, - НЕТ. Поэтому знакомству с первой моделью отечественного бытового нейрокомпьютера (БНК) "Эмбрион” (авторское свидетельство №: 36028 "Обучающаяся машина", 1966 г.), простым опытам с ним и посвящено наше первое занятие.

Название "Эмбрион" выбрано нами неспроста. Ведь это слово означает зародыш-организм на ранней стадии развития. Вот и наш "Эмбрион" - зародыш искусственной нервной системы.

Структурная схема нейрокомпьютера изображена на рис. 1. На сенсорную матрицу (СМ) размера m х n, где m - число строк, n - число столбцов (в данном случае m = n) через рецепторы поступают входные воздействия из внешней или внутренней среды нейрокомпьютера. Блок выдвижения гипотез (БВГ) управляет процессом переноса информации из СМ в регистр внутреннего состояния (Р) и далее через нейронную сеть к группе мотонейронов (МН). Нейронная сеть представляет собой как бы многослойный пирог. Мотонейроны управляют исполнительными органами, с которыми может быть связан БНК: двигателями, реле, искусственными мышцами. Энергетический потенциал NS определяет общий уровень возбуждения нейронной сети, т.е. её "время жизни".

Начнём работу с БНК "Эмбрион". Введём на запрос NS: число 50. Далее введём следующие исходные данные:

ВВОД

Нейронная сеть возбуждена!

На экране вы видите импульсацию мотонейронов. Через некоторое время она прекращается, нейрокомпьютер печатает исходные данные и результат.

Вновь на экране приглашение NS:. Можно повторить опыт при других исходных данных.

На рис. 2 показан пример реализации возбуждения нейронной сети при введённых нами исходных данных.

Попробуйте сами поменять исходные данные. Не задавайте пока NS > 50! Запишите и проанализируйте полученные результаты.

Нейронная сеть (как видно из рис. 2) содержит несколько видов нейронов: 001, 101, 011 и т.д., обозначенных кружками. Нейроны соединены друг с другом с силой (весом), указанной дробью над линией связи, и возбуждены с частотой, обозначенной дробью над каждым кружком. Как видно, активность нейронов зависит от их места в сети.

Каждый нейрон может возбуждать несколько последующих и получать возбуждение от нескольких предыдущих нейронов.

Как вы уже догадались, глубину сети можно менять от 1 до U1+U2+U3, а максимально возможная ширина зависит от числа столбцов СМ n и при n=3 равна 2n = 8. Время жизни сети T=NS (U1+U2+U3).

В сети имеются также клетки типа мотонейронов (для упрощения на рис. 2, не показаны), активность которых вы и наблюдаете на экране. Они представляют собой второй слой нейронной сети. Число видов мотонейронов равно n+1.

Теперь мы можем определить объем W "мозга" БНК, т.е. число нейронов при заданных начальных условиях и выбранных характеристиках компьютера:

При n = m = 3, U1 = 3, U2 = 3, U3 = 0 (наш вариант БНК)

W = (23+3+1) (3+3) = 72 нейрона.

Пусть n=8, m=8, U1 = U2=...=U8 = 10, тогда W = (256+9) 80 = 21200 нейронов.

Это уже ощутимо!

А если n = m = 10 и , то W = 207000 нейронов. Этого уже достаточно для формирования довольно сложных поведения и управления.

Чтобы почувствовать возможности и свойства нейронной сети, попробуйте ввести на СМ различные образы:

 

111

 

000

 

000

 

100

 

010

 

001

 

111

1)

111;

2)

000;

3)

010;

4)

100;

5)

010;

6)

010;

7)

101

 

111

 

000

 

000

 

100

 

010

 

100

 

111

при NS = 50, Р1 = Р2 = Р3 = 0 и сначала при U1 = U2 = U3 = 3, а затем при U1 = 6, U2 = 2, U3 = 1.

Запишите результаты опытов и попробуйте сделать выводы о свойствах БНК.

Вы, видимо, обратили внимание при вводе программы, что это её рабочая версия, ещё не совсем "вылизанная" для применения. У многих, например, нет БК-0010 с Фокалом, многих не устраивают организация ввода образа на СМ, частота импульсации мотонейронов, представление результата на дисплее, а кто-то захочет понаблюдать за импульсацией нейрона определённого типа, например "001".

Поэтому для усовершенствования БНК "Эмбрион" предлагается:

На следующих занятиях мы с вами сделаем разбор программ. Листинги программ, ваши замечания, предложения и вопросы направляйте в редакцию журнала "Байтик" с пометкой "Нейрокомпьютер". Лучшие решения мы постараемся опубликовать на страницах журнала.

Владимир Цыганков

СЛОВАРИК ОСНОВНЫХ ТЕРМИНОВ

Блок выдвижения гипотез - группа регистров, числовой код которых определяет способ реагирования нейронной сети на текущее состояние сенсорной матрицы и регистра внутреннего состояния. Этот код называется гипотезой восприятия.

Возбуждение - ответная реакция нейронной сети в виде импульсной активности, распространяющейся по нейронам сети.

Время жизни - время, в течение которого существует импульсная активность в нейронной сети.

Импульсная активность (импульсация) нейронной сети и нейрона - частота импульсов, посылаемых в нейронную сеть нейроном, рецептором, или совокупность частот группы нейронов; чем выше частоты и чем больше активных нейронов, тем выше активность сети.

Мотонейрон - специальный нейрон, приводящий в действие мышцу, мотор или другой исполнительный орган посылкой на него потока импульсов с частотой f.

Нейрокомпьютер - вычислительная или управляющая машина, имеющая структуру, сходную со структурой нервной системы живого организма, и использующая в своей работе её принципы функционирования.

Нейрон - в нейрокомпьютере упрощённый искусственный аналог нервной клетки живого организма.

Нейронная сеть - взаимосвязанная и взаимодействующая совокупность нейронов - "мозг" искусственного организма.

Раздражение - воздействие, которое зафиксировано рецептором.

Регистр внутреннего состояния - регистр, в котором хранится след (результат) возбуждения нейронной сети.

Рецептор - специальная нервная клетка, воспринимающая воздействие.

Сенсор - рецепторный орган или блок, воспринимающий сигналы из внешней или внутренней среды.

Сенсорная матрица - группа регистров, фиксирующая сигналы, поступающие от сенсоров или от рецепторов.

Энергетический потенциал нейронной сети - максимальное число импульсов, которые могут возникнуть в нейронной сети за время её жизни.

БИБЛИОГРАФИЯ

  1. Гордин А. Б. Занимательная кибернетика. - М.: Радио и связь, 1987. - 224 с. - (Серия "Науч. - поп. б - ка школьника").
  2. Фрид К. и др. Этюды о персональных компьютерах: Пер. с венг. - М.: Знание, 1988.-160 с.
  3. Ляликов А.П., Саруханов В.А. Чего не может ЭВМ? - М.: Машиностроение. Ленингр. отд-ние. 1989.- 174 с. - (Серия "Науч.-поп. б-ка школьника").
  4. Тарасов Л.В. Мир, построенный на вероятности. - М.: Просвещение, 1984. - 191 с.
1.02 Т БНК "ЭМБРИОН"
1.03 С ФОРМИРОВАНИЕ СЕНСОРНОЙ МАТРИЦЫ [S]
1.04 Е
1.05 A !,"NS",NS;S N=NS;A "Р1",Р1; А "Р2",Р2;А "РЗ",РЗ
2.02 A "S1",S1;A "S2",S2;A "S3",S3; A "S4",S4;A "S5",S5
2.03 A "S6",S6;A "S7",S7;A "S8",S8; A "S9",S9
3.02 С ВЫБОР ГИПОТЕЗЫ ВОСПРИЯ ТИЯ [U]
3.03 A "U1",U1;A"U2",U2;A"U3",U3
4.01 С ВОЗБУЖДЕНИЕ НЕЙРОННОЙ СЕТИ
4.02 X FCHR(12)
4.04 S K1=U1;S K2=U2;S K3=U3;S Х1=Р1; S X2=P2;S X3=P3
4.10 I (K1)5.02,5.02
4.20 S L=FABS(FRAN())
4.30 I (L-0.34)4.5.4.5
4.40 I (L-0.66)4.6,4.6,4.7
4.50 S X1=(P1+S1)-1*P1;G 4.8
4.60 S X2=(P2+S2)-1*P2;G 4.8
4.70 S X3=(P3+S3)-1*P3;G 4.8
4.80 S K1=K1-1
4.90 I (K1)5.02,5.02,4.2
5.02 S Y=X1+X2+X3
5.10 S X4=X1;S X5=X2;S X6=X3
6.10 I (K2)7.02,7.02
6.20 S L=FABS(FRAN())
6.30 I (L-0.34)6.5,6.5
6.40 I (L-0.66)6.6,6.6,6.7
6.50 S X4=(X1+S4)-1*X1;G 6.8
6.60 S X5=(X2+S5)-1*X2;G 6.8
6.70 S X6=(X3+S6)-1*X3;G 6.8
6.80 S K2=K2-1
6.90 I (K2)7.02,7.02,6.2
7.02 S Y2=X4+X5+X6
7.10 S X7=X4;S X8=X5;S X9=X6
8.10 I (K3)9.02,9.02
8.20 S L=FABS(FRAN())
8.30 I (L-0.34)8.5,8.5
8.40 I (L-0.66)8.6,8.6,8.7
8.50 S X7=(X4+S7)-1*X4;G 8.8
8.60 S X8=(X5+S8)-1*X5;G 8.8
8.70 S X9=(X6+S9)-1*X6;G 8.8
8.80 S K3=K3-1
8.90 I (K3)9.02,9.02.8.2
9.02 S Y3=X7+X8+X9
9.40 S N=N-1
9.50 G 10.2
9.60 I (N)9.7,9.7,4.04
9.65 С РЕДУКЦИЯ - СЖАТИЕ [R]
9.70 T !,S1,S2,S3,U1,!,S4,S5,S6,U2,I,S7,S8,S9,U3,NS
9.71 S Z=SY*2+SJ-SC-CU*2;T Z
9.72 I (Z)9.73,9.74,9.75
9.73 S Z1=256;G 9.76
9.74 S Z1=128;G 9.76
9.75 S Z1= 0;G 9.76
9.76 S Z2=FABS(Z*5)
9.77 X FT(0,0,128);X FV(1,Z2,Z1)
9.80 E;G
10.02 С ИНДИКАЦИЯ АКТИВНОСТИ МОТОНЕЙРОНОВ [MN]
10.10 G 9.6
10.20 I (Y3-1)10.25;10.4;10.5
10.25 S SY=SY+1
10.30 X FK(SY.3);X FCHR(42);T %2.0,0,SY; G 10.1
10.40 S SJ=SJ+1
10.45 X FK(SJ,9);X FCHR(42);T %2.0,1,SJ; G 10.1
10.50 I (Y3-2)10.40,10.6,10.7
10.60 S SC=SC+1
10.65 X FK(SC,15);X FCHR(42);T %2.0,2,SC; G 10.1
10.70 S SU=SU+1
10.80 X FK(SU,21);X FCHR(42);T %2.0,3,SU; G 10.1
10.90 С КОНЕЦ. БНК "ЭМБРИОН"

Performed by © gid, 2012-2022.