Skip to content

Instantly share code, notes, and snippets.

@sampletext32
Created January 5, 2022 13:16
Show Gist options
  • Save sampletext32/f7dd1e6c320966e45ad13bff6f7824ff to your computer and use it in GitHub Desktop.
Save sampletext32/f7dd1e6c320966e45ad13bff6f7824ff to your computer and use it in GitHub Desktop.
  1. Биологический и математический нейроны
  2. Линейные и нелинейные нейроны
  3. Активационные функции нейрона, виды активационных функций
  4. Подготовка входных данных для нейронных сетей
  5. Задание качественных входных данных для нейронных сетей
  6. Интерпретация результатов (выходных данных) нейронной сети
  7. Многослойные нейронные сети
  8. Обучение нейронной сети
  9. Какова роль учителя при обучении нейронной сети
  10. Отличие обучения с учителем и самообучения сети
  11. Обучение нейронной сети с учителем
  12. Самообучение нейронных сетей
  13. Обучение нейронных сетей методом обратного распространения ошибки
  14. Обучение сети как минимизация функции погрешности
  15. Рекуррентная нейронная сеть
  16. Автоассоциативная память
  17. Сеть Хопфилда
  18. Распознавание образов с помощью нейронных сетей
  19. Задачи, для решения которых применяются нейронные сети
  20. На чем основана идея самообучения сети
  21. Зачем нужны нелинейности в сети
  22. Какие исследования можно проводить с применением автоассоциативной памяти
  23. Сеть с самоорганизацией. Сеть Кохонена

1. Биологический и математический нейроны

Биологический:

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

Математический нейрон (модель биологического):

  • Входы
  • Веса
  • Сумматор
  • Функция активации
  • Выход

Описание:

Он получает входные сигналы (исходные данные либо выходные сигналы других нейронов НС) через несколько входных каналов. Каждый входной сигнал проходит через соединение, имеющее определенную интенсивность (или вес); этот вес соответствует синаптической активности биологического нейрона. Вычисляется взвешенная сумма входов, из нее вычитается пороговое значение, и в результате получается величина активации нейрона (она также называется пост-синаптическим потенциалом нейрона - PSP).
Сигнал активации преобразуется с помощью функции активации (или передаточной функции) и в результате получается выходной сигнал нейрона.

2. Линейные и нелинейные нейроны

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

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

3. Активационные функции нейрона, виды активационных функций

Функция активации определяет выходное значение нейрона в зависимости от результата взвешенной суммы входов и порогового значения.

Виды функций - Ссылка

4. Подготовка входных данных для нейронных сетей

Существует 3 основных категории данных:

  • Булевы (бикатегориальные), ответом на которые является: Да или Нет (1 или 0). Например, ответ на вопрос: есть ли у клиента аккаунт?
  • Категориальные, ответом на которые является конкретный класс. Обычно классов больше двух (мультикатегориальные), иначе вопрос можно свести к булевому. Например, цвет: красный, зеленый или синий.
  • Количественные, ответами на которые являются числа, характеризующее конкретную меру. Например, количество обращений в месяц: пятнадцать.

Данные должны быть оформлены в виде векторов признаков (строк таблицы) для каждого изучаемого объекта.

Препроцессинг — это процесс отображения понятных нам данных в менее удобную для человека, но зато в излюбленную машинами форму - числа.

5. Задание качественных входных данных для нейронных сетей

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

Значение для таких данных – это название Один из N – N обозначает число различных допустимых значений (названий), которые может принимать номинальная переменная.

6. Интерпретация результатов (выходных данных) нейронной сети

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

Значения номинальных переменных необходимо представлять на выходе сети по принципу «один из N». Тем не менее, на выходе сети можно столкнуться с парой проблем, специфичных именно для этого слоя.

7. Многослойные нейронные сети

Многослойными называются нейронные сети, в которых нейроны сгруппированы в слои.

При этом каждый нейрон предыдущего слоя связан со всеми нейронами следующего слоя, а внутри слоёв связи между нейронами отсутствуют.

8. Обучение нейронной сети

НС может обобщать знания, что выражается в способности решать задачи, отсутствовавшие в обучающей выборке, но подобные им.

Зависимость между входом и выходом устанавливается в момент обучения сети.

Существует способа - управляемое (с учителем) и неуправляемое (самообучение)

В общем случае, обучение - коррекция весов сети.

9. Какова роль учителя при обучении нейронной сети

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

Эти данные представляют собой примеры входных данных и соответствующих им выходов.

Сеть учится устанавливать связь между первыми и вторыми.

Учитель — это, например, обучающая выборка.

10. Отличие обучения с учителем и самообучения сети

Спроектированная соответствующим образом нейронная сеть может самостоятельно (на основании одних лишь наблюдений входных сигналов) строить осмысленный алгоритм своего функционирования.

Чаще всего этот алгоритм связан с автоматическим выявлением повторяющихся классов (возможно с некоторыми вариациями) входных сигналов, и сеть учится (абсолютно спонтанно, без явного «натаскивания») распознавать эти эталоны сигналов.

11. Обучение нейронной сети с учителем

см. вопрос 10

12. Самообучение нейронных сетей

см. вопрос 10

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

13. Обучение нейронных сетей методом обратного распространения ошибки

Метод обратного распространения ошибки (англ. backpropagation) — метод вычисления градиента, который используется при обновлении весов многослойного перцептрона. Основная идея этого метода состоит в распространении сигналов ошибки от выходов сети к её входам, в направлении обратном прямому распространению сигналов в обычном режиме работы

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

14. Обучение сети как минимизация функции погрешности

Обучение нейросетей происходит в два этапа:

  • Прямое распространение ошибки.
  • Обратное распространение ошибки.

Во время прямого распространения ошибки делается предсказание ответа. При обратном распространении ошибка между фактическим ответом и предсказанным минимизируется.

15. Рекуррентная нейронная сеть

Рекуррентные сети имеют межнейронные обратные связи – многочисленные и сложные замкнутые петли, в которых импульсы могут долго ходить по кругу и изменяться, прежде чем сеть достигнет некоторого устойчивого (стабильного) состояния, если такое состояние в принципе достижимо.

Чаще всего результаты выхода сети подаются ей же на вход.

16. Автоассоциативная память

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

17. Сеть Хопфилда

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

Сеть Хопфилда является однослойной — если не брать в расчет входные элементы. Каждый из нейронов связан со всеми остальными, но не воздействует на себя самого.

18. Распознавание образов с помощью нейронных сетей

image_2022-01-05_15-55-39

19. Задачи, для решения которых применяются нейронные сети

Ссылка

20. На чем основана идея самообучения сети

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

21. Зачем нужны нелинейности в сети

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

22. Какие исследования можно проводить с применением автоассоциативной памяти

Задачи восстановления образов - звуков, картинок.

см. вопросы 16-18

23. Сеть с самоорганизацией. Сеть Кохонена

Наиболее распространенное применение сетей Кохонена - решение задачи классификации без учителя, т.е. кластеризации.

Напомним, что при такой постановке задачи нам дан набор объектов, каждому из которых сопоставлена строка таблицы (вектор значений признаков). Требуется разбить исходное множество на классы, т.е. для каждого объекта найти класс, к которому он принадлежит.

В результате получения новой информации о классах возможна коррекция существующих правил классификации объектов.

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

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment