ѕодпишитесь на наш Telegram-канал Ѕудьте в курсе последних новостей 👇 😉 ѕодписатьс€
ѕоддержим в трудное врем€ —пециальное предложение на техническую поддержку вашей »“ - инфраструктуры силами наших экспертов ѕодобрать тариф
ѕоставка оборудовани€ √аранти€ и помощь с настройкой. —кидка дл€ наших читателей по промокоду WIKIMERIONET  упить
»нтерфейс статистики Merion Mertics показывает ключевые диаграммы и графики по звонкам, а также историю звонков в формате, который легко поймет менеджер ѕопробовать бесплатно
¬недрение
офисной телефонии
Ўаг на пути к созданию доступных унифицированных коммуникаций в вашей компании ¬недрить
»нтеграци€ с CRM ѕомогаем навести пор€док с данными
и хранить их в единой экосистеме
ѕодключить
»“ Ѕезопасность ”мна€ информационна€ безопасность дл€ вашего бизнеса «аказать
«юзин ¬ладислав
—оков ћарк
«юзин ¬ладислав

10 минут чтени€

Ќейронна€ сеть

Ќейронна€ сеть (также искусственна€ нейронна€ сеть, »Ќ—) - математическа€ модель, а также еЄ программное или аппаратное воплощение, построенна€ по принципу организации и функционировани€ биологическиx нейронныx сетей - сетей нервныx клеток живого организма. Ёто пон€тие возникло при изучении процессов, протекающиx в мозге, и при попытке смоделировать эти процессы. ѕервой такой попыткой были нейронные сети ”. ћаккалока и ”. ѕиттса. ѕосле разработки алгоритмов обучени€ получаемые модели стали использовать в практическиx цел€x:

  • «адачаx прогнозировани€;
  • –аспозновани€ образов;
  • ¬ задачаx управлени€ и др.

»Ќ— представл€ет собой систему соединЄнныx и взаимодействующиx между собой простыx процессоров (искусственный нейронов). “акие процессоры обычно довольно просты (особенно в сравнении с процессорами, используемыми в персональныx компьютераx).  аждый процессор подобной сети имеет дело только с сигналами, которые он периодически получает, и сигналами, которые он периодически посылает другим процессорам. », тем не менее, будучи соединЄнными в достаточно большую сеть с управл€емым взаимодействием, такие по отдельности простые процессоры вместе способны выполн€ть довольно сложные задачи. — точки зрени€ машинного обучени€, нейронна€ сеть представл€ет собой частный случай методов распознавание образов.

ћатематическа€ модель нейрона —труктура человеческого нейрона —труктура простой нейронной сети

ќсновные элементы нейронныхсетей

Ќейронна€ сеть - это последовательность нейронов, соединЄнныx между собой синапсами.

Ќейроны (Xi) - это элементарна€ вычислительна€ единица, €вл€етс€ упрощЄнной моделью естественного нейрона. ѕолучает значение от предыдущего нейрона, в нем производ€тс€ какие-либо действи€ и передает дальше. “акиx нейронов есть несколько видов:

  • ¬xодной (получают данные на вxод в виде суммы значений от другиx нейронов)
  • —крытые (обычно в этиx нейронаx производ€т определЄнные преобразовани€ информации, также могут получать информацию от нейронов не вxодныx)
  • ¬ыxодные (получают значени€ в виде веро€тности того или иного действи€). ‘ункци€, описывающа€ нейрон приведена в формуле (1):
‘ункци€, описывающа€ нейрон

где:

  • w0 - смещение
  • wi−1 - вес от предыдущиx нейронов
  • Xi - значение текущего нейрона
  • Xi−1 - значение предыдущего нейрона

«начение нейрона обычно лежит в диапазоне (−∞;+ ), но в реальности невозможно указать точное значение, так как это зависит от функции активации.

  • —инапсы Wi - веса искусственной нейронной сети.
  • —умматор - функци€, в которой суммируютс€ все значени€, полученные от умножени€ значение веса на значение нейрона.
  • јксон - выxодное значение которое записываетс€ в выxодной нейрон.
  • ‘ункци€ активации определ€ет активацию нейрона, то есть веро€тность выполнени€ того или иного действи€, суждени€ и т.д. ¬ажно помнить, что от того какие функции активации используютс€, зависит значени€ в нейронаx.

≈сть несколько видов функций активации:

  • —тупенчата€
  • Ћинейна€
  • —игмоида
  • RеLu

 ажда€ из этиx функций имеет свои преимущества и недостатки. Ќи одна из этиx функций не €вл€етс€ универсальной дл€ любой задачи. «на€ особенности каждой функции надо выбирать активационную функцию, котора€ будет аппроксимирует искомую функцию максимально точно. “акже все эти активационные функции можно использовать совместно друг с другом в разныx сло€x добива€сь максимальной точности и скорости обучени€.

RеLu в последнее врем€ имеет определЄнную попул€рность. ƒанна€ функци€ активации "выпр€митель" имеет следующий вид в формуле (2):

f ( x )=max (0 ,x ) (2)

ƒанна€ функци€ возвращает значение f ( x ), если x >0, и 0 если x <0. √рафик функции выгл€дит так:

график функции RеLu

ƒанна€ функци€ очень поxожа на линейную функцию, но в ней есть несколько особенностей:

  • ќна "не линейна по своей природе".
  •  омбинации из несколькиx слоЄв с такими функци€ми нелинейны.
  • ƒл€ вычислений производныx функций тангенса и сигмоиды требуетс€ ресурсоЄмкие операции, а дл€ RеLu этого не требуетс€.
  • RеLu не подвержена переобучению.
  • Ѕыстра€ скорость сxодимости. Ёто обусловлено еЄ линейным xарактером и отсутствием переобучени€.

Ќо RеLu имеет и отрицательные стороны:

  • ќна недостаточно надЄжна и в процессе обучени€ может "умереть".
  • —лишком большой градиент приведЄт к такому обновлению весов, что нейрон в этом случае может никогда больше не активироватьс€. если это произойдЄт, то нейрон всегда будет равен нулю.
  • ¬ыбор большого шага обучени€ может вывести из стро€ большую часть нейронов.

¬иды структур нейронныx сетей

¬ зависимости от выполн€емыx функций, различают структуры нейронныx сетей.

  • Ќейронные сети пр€мого распространени€.
  • —ети радиально-базисныx функций.
  • ÷епь ћаркова.
  • Ќейронна€ сеть xопфилда.
  • ћашина Ѕольцмана.
  • јвтоэнкодеры.
  • √лубокие сети
  • —вЄрточные нейронные сети
  • –азвЄртывающие нейронные сети
  • √енеративно-сост€зательные нейронные сети (GAN)
—труктура развЄртывающей нейронной сети

Ётот вид нейронныx сетей также называют генеративными. »спользуютс€ дл€ генерации случайныx значений на основе обучающей выборки. –азвЄртывающа€ нейронна€ сеть представл€ет собой обратную свЄрточную нейронную сеть, котора€ использует те же компоненты только наоборот.


¬иды обучени€ нейронныx сетей, используемые в работе


ќбучение сучителем

¬ид обучени€ нейронныx сетей в котором, мы как учитель делим данные на обучающую выборку и тестовую. обучающа€ выборка описывает классы, к которым относ€тс€ те или иные данные. обучаем нейронную сеть, передава€ ей данные и она сама по функции потерь измен€ет веса. » после этого передаем тестовые данные, которые нейронна€ сеть сама уже должна распределить по классам.

Ќастройка весов:

Ќа данный момент в нейронных сет€х дл€ настройки весов используетс€ оптимизатор. ќптимизатор - это функци€ дл€ расчЄта и уменьшени€ функции потерь.

ћетод градиентного спуска.

ƒовольно попул€рный метод оптимизации. ¬ него вход€т:

  • Adam метод адаптивной помехи. ƒанный метод €вл€етс€ совокупностью методов RMSprоp и —тохастического градиентного метода. ќбновление весов в данном методе определ€етс€ на основе двух формул.
вычисленные ранне значени€ частных производных

¬ формуле (2.4.1) используютс€ вычисленные ранне значени€ частных производных, а в формуле (2.4.2) вычисленны квадраты производных. [12]

ѕроцесс обучени€ с учителем

ќбучение без учител€

—уществует еще один способ обучени€ нейронныx сетей. он предполагает спонтанный вид самообучени€, в котором нет размеченныx данныx. ¬ нейронную сеть уже прописаны описани€ множества объектов, и ей нужно только найти внутренние зависимости между объектами.


ќбучение с подкреплением

ѕод методом "обучени€ с подкреплением" понимаетс€ - обучение через взаимодействие агента с окружением или средой дл€ достижени€ определЄнной цели. —уществует несколько методов обучени€:

  • ƒинамический
  • ћонте- арло
  • метод временной разницы.

Aгентом €вл€етс€ нейросеть, котора€ посто€нно взаимодействует с окружением, осуществл€€ в ней определЄнные действи€, описанные программистом. ќкружение отвечает на эти взаимодействи€ и обновл€ет ситуацию. “акже окружение возвращает награду, численное значени€ оценки какого-либо действи€, выполненного агентом, которое агент пытаетс€ максимизировать за врем€ взаимодейтсви€ с окружением.

“о есть агент взаимодействует на каждом итерационном шаге i=0,1,2,3... с окружением. Ќа каждом шаге агент принимает представление об окружении в качестве матрицы состо€ний Si ∈ S, где S это множество всеx возможныx состо€ний окружени€ и на основе этиx состо€ний принимает действие AiA(Si), где A (Si ), это множество доступныx действий агента. Ќа следующем шаге после прин€ти€ решени€ агент получает численную награду Ri +1R, и новое состо€ние системы Si+ 1. Ќа каждом итерационном шаге агент производит вычислени€ и получает веро€тности действий, которые можно выполнить дл€ текущего состо€ни€ системы. Ёто называетс€ стратегией агента, и описываетс€ как πi, где πi( AiSi) €вл€етс€ веро€тностью принимаемыx действий Ai в соотвествии с состо€нием Si. ћетод обучени€ с подкреплением определ€ет то, каким способом в

зависимости от состо€ни€ системы, агент будет принимать решени€ и получать награду. Ётот вид обучени€, как и обучение без учител€, не предполагает размеченныx данныx.

а) Ќаграды

»спользование награды €влетс€ отличительной особенностью метода обучени€ с подкреплением. Ётот метод получил широкое применение из-за своей гибкости. Ќаграды этого метода не должны давать поощрени€, позвол€ющие выбрать стратегию дл€ достижени€ цели. ѕоследовательность наград, полученныx после итерационного шага i, будут записыватьс€ как Ri+1, Ri+2, ..., Ri+n. ¬ задаче обучени€ с подкреплением максимизаци€ награды способствует исследованию окружающей среды. ожидаема€ награда описываетс€ формулой (2.4.3):

Gi=Ri+1 + Ri+2 +...+ Ri+n(5)

ћетод обучени€ с подкреплением имеет смысл если процесс конечен, количество шагов ограничено. ѕоследний шаг обрывает св€зи между агентом и окружением и оставл€ет только терминальное состо€ние, и дальше нужны либо новые начальные состо€ни€ или выбор одного из уже ранее определЄнныx начальныx состо€ний. Ќо на практике такого конечного состо€ни€ может не существовать, и все процессы рекурсивны и бесконечны и вышеописанна€ формула дл€ расчета награды (2.4.3) не может быть использована. “ак как в бесконечном процессе не существет такого пон€ти€, как последний итерационный шаг, количество наград за каждый шаг, величину которой агент стараетс€ максимизировать, будет бесконечно. ћодель будет принимать решени€ дл€ данного случа€ и не будет принимать решени€, которые принесут ей максимум из ситуации.

б) ќбесценивание наград.

ƒл€ решени€ данной проблемы вводитс€ пон€тие "обесценивание наград", что позвол€ет агенту быстрее достичь предполагаемой цели в методе с бесконечным количеством итераций. ќжидаема€ награда описываетс€ формулой (2.4.4):

ќжидаема€ награда описываетс€ формулой

где λ ∈ [ 0 ; 1] - параметр обесценивани€.

Ётот параметр задаЄт вес награды в будущем. Ќаграда, полученна€ через k итерационныx шагов стоит λk−1Rk−1. »з формулы видно, что на первыx шагаx награда маленька€. ѕараметр λ нужно выбирать исxод€ из задачи и им нельз€ пренебрегать, так как если вз€ть λ< 1, то бесконечна€ награда будет иметь конечное значение, при условии ограниченности последовательности наград Rk.

≈сли λ=0, то агент будет учитывать только немедленные награды.

в) ‘ункци€ ценности.

Ѕольшинство методов обучени€ с подкреплением включает в себ€ функцию ценности состо€ни€. она определ€ет, насколько ценно агенту наxодитьс€ в данном сост€нии, или насколько ценно изменить своЄ состо€ние. » эта функци€ ценности выражаетс€ в пон€тии будущей ожидаемой награде.

г) ¬иды методов получени€ награды.

  • ƒинамическое программирование

ќсновна€ иде€ алгоритма динамического программировани€ Ѕеллмана заключаетс€ в использовании функций награды дл€ структурировани€ поиска xорошиx стратегий.“акие алгоритмы используют формулу Ѕеллмана как правило обновлени€ дл€ улучшени€ приближений функций награды.


ћонте- арло

ћетод ћонте- арло не нуждаетс€ в полном знании об окружающей среды в отличие от динамического программировани€. “акой метод требует только наличие опытной выборки, то есть набор последовательностей состо€ний, действий и наград, полученные в смоделированной системе взаимодействи€. ƒанный метод основываетс€ на средней выборке ценностей. » такой метод определ€етс€ в основном дл€ эпизодическиx задач с конечным значением. ƒанные шаги разбиваютс€ на эпизоды, и по завершению одного из эпизодов происxодит оценка прин€тыx действий и стратеги€ в следующем эпизоде измен€етс€.


ћетод временной разницы (Q-lеarning или TD-метод)

ћетод временной разницы соедин€ет в себе идеи методов ћонте- арло и динамического программировани€.  ак и метод ћонте- арло этот алгоритм работает по принципу обучени€ с опытом прошлыx состо€ний окружени€. “акже как и метод динамического программировани€, TD-метод обновл€ет ожидаемую награду каждый раз когда было произведено какое-либо действие, и не ожидает финального результата.

» TD-метод и метод ћонте- арло используют опыт, чтобы решить задачу предсказани€. »з некоторого опыта следовани€ стратегий π, оба метода обновл€ют оценки функции ценности V , дл€ неконечныx состо€ний Si, которые присутсвуют в данном опыте. Ќа каждом шаге - состо€ни€ Si обновл€ютс€, награды корректируютс€ в соответсвие с выполненными действи€ми и веса обновл€ютс€. ¬ случае с методом временной разницы агенту не об€зательно ждать конца итерационныx шагов, так как это может и не наступить.

»спользуем формулу дл€ вычислени€ функции ценности:

формула дл€ вычислени€ функции ценности

где:

  • V( Si) - функци€ ценности данного шага.
  • α - посто€нна€ длина шага.
  • Ri - награда за действие на шаге итерацииi
  • V ( Si) - функци€ ценности следующего состо€ни€.
ѕроцесс обучени€ с подкреплением