Знакомство с нейронными сетями

Лабораторная: Знакомство с нейронными сетями

знакомство с нейронными сетями

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

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

Знакомство с архитектурой LSTM-сетей

У каждого из нейронов есть 2 основных параметра: В случае входного нейрона: В остальных, в поле input попадает суммарная информация всех нейронов с предыдущего слоя, после чего, она нормализуется, с помощью функции активации пока что просто представим ее f x и попадает в поле output.

Важно помнить, что нейроны оперируют числами в диапазоне [0,1] или [-1,1]. А как же, вы спросите, тогда обрабатывать числа, которые выходят из данного диапазона? На данном этапе, самый простой ответ — это разделить 1 на это число. Этот процесс называется нормализацией, и он очень часто используется в нейронных сетях. Подробнее об этом чуть позже.

знакомство с нейронными сетями

Синапс это связь между двумя нейронами. У синапсов есть 1 параметр — вес. Благодаря ему, входная информация изменяется, когда передается от одного нейрона к другому. Допустим, есть 3 нейрона, которые передают информацию следующему. Тогда у нас есть 3 веса, соответствующие каждому из этих нейронов. У того нейрона, у которого вес будет больше, та информация и будет доминирующей в следующем нейроне пример — смешение цветов.

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

В данном примере изображена часть нейронной сети, где буквами I обозначены входные нейроны, буквой H — скрытый нейрон, а буквой w — веса.

Из формулы видно, что входная информация — это сумма всех входных данных, умноженных на соответствующие им веса.

Нейронные сети Лекция 3

Тогда дадим на вход 1 и 0. Теперь когда у нас есть входные данные, мы можем получить выходные данные, подставив входное значение в функцию активации подробнее о ней далее. Теперь, когда у нас есть выходные данные, мы передаем их. И так, мы повторяем для всех слоев, пока не дойдем до выходного нейрона. Запустив такую сеть в первый раз мы увидим, что ответ далек от правильно, потому что сеть не натренирована.

знакомство с нейронными сетями

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

То есть, если на входе у вас будет большое число, пропустив его через функцию активации, вы получите выход в нужном вам диапазоне. Функций активации достаточно много поэтому мы рассмотрим самые основные: Линейная, Сигмоид Логистическая и Гиперболический тангенс. Главные их отличия — это диапазон значений.

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

Лабораторная работа № 2 знакомство с нейронными сетями

Сигмоид Это самая распространенная функция активации, ее диапазон значений [0,1]. Именно на ней показано большинство примеров в сети, также ее иногда называют логистической функцией. Соответственно, если в вашем случае присутствуют отрицательные значения например, акции могут идти не только вверх, но и внизто вам понадобиться функция которая захватывает и отрицательные значения.

Гиперболический тангенс Имеет смысл использовать гиперболический тангенс, только тогда, когда ваши значения могут быть и отрицательными, и положительными, так как диапазон функции [-1,1].

Использовать эту функцию только с положительными значениями нецелесообразно так как это значительно ухудшит результаты вашей нейросети. Тренировочный сет Тренировочный сет — это последовательность данных, которыми оперирует нейронная сеть. В нашем случае исключающего или xor у нас всего 4 разных исхода то есть у нас будет 4 тренировочных сета: Итерация Это своеобразный счетчик, который увеличивается каждый раз, когда нейронная сеть проходит один тренировочный сет.

Другими словами, это общее количество тренировочных сетов пройденных нейронной сетью. Поэтапное объяснение процессов, происходящих в LSTM-сети На первом этапе необходимо решить, какую информацию следует удалить из состояния ячейки. Он принимает на входе ht-1 и xt и дает на выходе число от 0 до 1 для каждого значения в состоянии ячейки Ct Давайте вернемся к нашей языковой модели, которая пытается предсказать следующее слово на основании предыдущих слов.

  • Вы точно человек?
  • Лабораторная: Знакомство с нейронными сетями
  • Свёрточные нейронные сети: взгляд изнутри

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

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

Свёрточные нейронные сети: взгляд изнутри — CodeSide

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

знакомство с нейронными сетями

Выход будет представлять собой отфильтрованное состояние ячейки. Сначала sigmoid-слой решает, какие элементы состояния ячейки необходимо передать на выход. Затем состояние ячейки преобразуется с помощью tanh-слоя к интервалу от -1 до 1 и умножается на выход sigmoid-слоя, чтобы вывести только то, что было решено вывести. В случае языковой модели, поскольку в ее поле зрения только что появился новый субъект, логично будет вывести, например, информацию связанную с глаголом, если следующим словом должен быть глагол.

знакомство с нейронными сетями

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

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

знакомство с нейронными сетями