TG Telegram Group & Channel
fmin.xyz | United States America (US)
Create: Update:

Нейронная сеть Хопфилда

🏆 На этой неделе нобелевскую премию по физике дали Джону Хопфилду и Джеффри Хинтону за 

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


😲 Я, как и многие в моем окружении, сначала недоумевал, почему так и причем здесь физика. И решил заботать, что вообще такое нейронная сеть Хопфилда, и получил дикое удовольствие. Оказывается, что сама концепция заметно отличается от тех нейронных сетей, к которым мы привыкли. В этих сетях гораздо больше связи с физикой и биологией, чем в полносвязных/сверточных слоях.

🔬 Что это такое

В простейшем случае это однослойная нейросеть, в которой все нейроны соединены со всеми и каждый нейрон может принимать два значения (-1 и 1 - как знак заряда или спин). Поэтому текущее состояние сети легко нарисовать в виде бинарной картинки. При этом значение каждого нейрона определяется как взвешенная сумма остальных нейронов с пороговой активацией (здесь все похоже на обычный полносвязный слой).

Состояние сети зависит от весов и значений нейронов. Такому состоянию можно поставить в соответствие энергию. Если изменить значение нейрона или веса, это может повлечь за собой изменение остальных нейронов (возмущение). В начале существует простой способ подобрать такие значения весов, чтобы минимальное состояние энергии этой сети соответствовало каким-то заранее заданным паттернам.

🧠 Нейросеть как память

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

А потом можно возмутить состояние нейронов как угодно (при выученных весах это гарантированно приведет к увеличению энергии системы) и посмотреть на пошаговую эволюцию состояний сети во времени - она сойдется к одному из стационарных состояний, которыми являются выученные паттерны. Но когда паттернов для запоминания становится много, то появляются новые стационарные состояния, которые мы не вкладывали в сеть (их называют химерами).

🧲 Принцип минимизации энергии и магниты

В этой модели каждый нейрон функционирует подобно магнитному моменту в магните. Мы сначала сильным внешним магнитным полем ориентируем спины в нужном направлении, потом убираем поле, а намагниченность остается.

При этом если теперь вывести их из равновесия, они будут потихонечку возвращаться в устойчивое состояние, минимизируя энергию через переориентацию спинов. Удивительно, что можно использовать концепции физики для объяснения и реализации процессов, связанных с памятью и самоорганизацией.

⚔️👁⚔️ Выводим ящеров на чистую воду

Например, в этой анимации я обучил сеть запомнить 2 состояния - турбославянина и ящера. А потом дал ей несколько разных картинок (чтобы посмотреть, кто есть кто на самом деле), которыми инициализировал значение нейронов (возмутил систему) и нарисовал эволюцию каждой из них. Видно, как они сходятся к стационарным состояниям. Хопфилд показал, что количество паттернов, которые может запомнить такая сеть растет примерно линейно с количеством нейронов.

📺 Крутейший видос, поясняющий базу
🖥 Статья на N+1 с объяснением
🐱 Ссылка на код для построения анимации

This media is not supported in your browser
VIEW IN TELEGRAM
Нейронная сеть Хопфилда

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


😲 Я, как и многие в моем окружении, сначала недоумевал, почему так и причем здесь физика. И решил заботать, что вообще такое нейронная сеть Хопфилда, и получил дикое удовольствие. Оказывается, что сама концепция заметно отличается от тех нейронных сетей, к которым мы привыкли. В этих сетях гораздо больше связи с физикой и биологией, чем в полносвязных/сверточных слоях.

🔬 Что это такое

В простейшем случае это однослойная нейросеть, в которой все нейроны соединены со всеми и каждый нейрон может принимать два значения (-1 и 1 - как знак заряда или спин). Поэтому текущее состояние сети легко нарисовать в виде бинарной картинки. При этом значение каждого нейрона определяется как взвешенная сумма остальных нейронов с пороговой активацией (здесь все похоже на обычный полносвязный слой).

Состояние сети зависит от весов и значений нейронов. Такому состоянию можно поставить в соответствие энергию. Если изменить значение нейрона или веса, это может повлечь за собой изменение остальных нейронов (возмущение). В начале существует простой способ подобрать такие значения весов, чтобы минимальное состояние энергии этой сети соответствовало каким-то заранее заданным паттернам.

🧠 Нейросеть как память

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

А потом можно возмутить состояние нейронов как угодно (при выученных весах это гарантированно приведет к увеличению энергии системы) и посмотреть на пошаговую эволюцию состояний сети во времени - она сойдется к одному из стационарных состояний, которыми являются выученные паттерны. Но когда паттернов для запоминания становится много, то появляются новые стационарные состояния, которые мы не вкладывали в сеть (их называют химерами).

🧲 Принцип минимизации энергии и магниты

В этой модели каждый нейрон функционирует подобно магнитному моменту в магните. Мы сначала сильным внешним магнитным полем ориентируем спины в нужном направлении, потом убираем поле, а намагниченность остается.

При этом если теперь вывести их из равновесия, они будут потихонечку возвращаться в устойчивое состояние, минимизируя энергию через переориентацию спинов. Удивительно, что можно использовать концепции физики для объяснения и реализации процессов, связанных с памятью и самоорганизацией.

⚔️👁⚔️ Выводим ящеров на чистую воду

Например, в этой анимации я обучил сеть запомнить 2 состояния - турбославянина и ящера. А потом дал ей несколько разных картинок (чтобы посмотреть, кто есть кто на самом деле), которыми инициализировал значение нейронов (возмутил систему) и нарисовал эволюцию каждой из них. Видно, как они сходятся к стационарным состояниям. Хопфилд показал, что количество паттернов, которые может запомнить такая сеть растет примерно линейно с количеством нейронов.

📺 Крутейший видос, поясняющий базу
🖥 Статья на N+1 с объяснением
🐱 Ссылка на код для построения анимации
Please open Telegram to view this post
VIEW IN TELEGRAM
744👍2614😁4🔥3🤔21🥰1🤬1


>>Click here to continue<<

fmin.xyz




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)