Нейронные сети | искусственный интеллект

Миф о нейросетях и искусственном интеллекте

Попытки скопировать человеческий интеллект предпринимаются уже несколько веков.

Еще в 1770 году венгерский изобретатель Вольфган фон Кемпелен создал автомат, который обыгрывал в шахматы всех, кто с ним состязался, и даже победил Наполеона Бонапарта.

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

Как все начиналось

Прошло много лет прежде чем в 50-е годы XX века Фрэнк Розенблатт изобрел персептрон — математическую модель связанных объектов, где входным сигналом для одного объекта служили выходные сигналы от других.

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

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

Обратите внимание

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

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

Термин «обучение модели», к собственно обучению не имел никакого отношения. На самом деле, состояние модели приходило к равновесию после нескольких циклов обратного распространения ошибки.

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

Модель показалась ученым интересной и позже легла в основу первой нейронной сети.

Дальнейшее развитие теории нейросетей переживало многочисленные взлеты и падения на протяжении десятилетий.

Среди наиболее известных открытий были первая модель искусственного интеллекта — Logic Theorist (LT, «логический теоретик»), изобретенная в 1956 году Алленом Ньюуэлом и Гербертом Саймоном, и «Элиза» — программа, поддерживающая разговор на английском языке на любую тему, созданная в 1965 году Джозефом Вайзенбаумом.

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

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

Важно

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

Поэтому они нашли применение в специализированных задачах, например, распознавании символов, а общий интерес к искусственному интеллекту снова упал.

Нейроны человека и нейросети

Имеют ли нейросети какое-то отношение к нейронам в голове человека и можно ли называть их интеллектом?

Современное представление о процессе мышления человека основывается на том, что нейроны в коре головного мозга могут связываться друг с другом своими отростками-аксонами, периодически получая от «соседей» сигналы и переходя из базового в возбужденное состояние. В головном мозге человека насчитывается около 85—86 млрд нейронов, и один нейрон может иметь связи со многими (до 20 тысяч) другими нейронами. Тот факт, что эта структура способна мыслить, всегда привлекал внимание ученых.

Термин «искусственный интеллект» («artificial intelligence») был изобретен и впервые озвучен в 1956 году американским ученым Джоном Маккарти. В описание модели персептрона, о которой было рассказано выше, уже в 50-х – 60-х были введены статистические понятия узлов, сети и весов, и эти узлы под влиянием работ того времени по изучению человеческого мозга назвали нейронами.

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

Компьютерные же нейросети не столь универсальны: пришлось придумывать разные виды, каждый из которых лучше всего приспособлен для своей задачи: сверточные — в основном используются для анализа изображений, рекуррентные — для анализа динамических изменений, автокодировщики — для классификаций (например, для распознавания букв, символов), кодировщики-декодировщики — для выявления ключевых характеристик объекта, соревновательные нейросети — для порождения новых объектов, и специальные ячейки памяти (LTSM) — для запоминания и хранения информации.

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

Наши дни

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

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

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

Совет

Сейчас крупнейшие компании мира зарабатывают за счет нейросетей: соцсети (и их партнеры, как печально известная Cambridge Analitica) таргетируют рекламу при помощи аналитики, Nvidia и другие разработчики создают платформы для использования в автомобилях—автопилотах, способных качественно распознавать знаки и пешеходов на дорогах и реагировать на ситуацию. Однако ИИ применяют и в ближайшее время будут применять в основном для юридически не обязывающих действий. Они могут предупредить о появлении незнакомого лица на объекте или мошенника-рецидивиста в банке, упростят вождение, но не возьмут на себя ответственность за финальное решение.

Читайте также:  Новый беспилотник, который станет роботом-охранником

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

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

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

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

Источник: https://brodv.ru/2018/04/03/mif-o-nejrosetyax-i-iskusstvennom-intellekte/

Искусственные нейронные сети от а до я простыми словами

Приветствуем вас, юные IT магнаты! Сегодня речь пойдёт про искусственные нейронные сети. А имен­но про то, что это такое и с чем это едят. Причём сначала опишем ис­кус­ст­вен­ные ней­рон­ные сети прос­ты­ми словами и в общих чертах, а потом подробно разберём их ар­хи­тек­ту­ру и виды.

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

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

Обратите внимание

Искусственные нейронные сети – это ма­те­ма­ти­чес­кая си­му­ля­ция би­о­ло­ги­чес­ко­го мозга [1]. Соб­ст­вен­но, поэтому они так и на­зы­ва­ют­ся. Ведь мозг и пред­став­ля­ет собой нейронную сеть [2]. И далее вы уви­ди­те, что работа и обу­че­ние ис­кус­ст­вен­ных ней­рон­ных сетей иден­тич­на обу­че­нию и работе нашего мозга.

Вот почему струк­тур­ные эле­мен­ты их ар­хи­тек­ту­ры и на­зы­ва­ют­ся подобно струк­тур­ным эле­мен­там го­лов­но­го мозга. Но ошибкой было бы думать, что ис­кус­ст­вен­ные ней­рон­ные сети подобны ис­кус­ст­вен­но­му ин­тел­лек­ту. Это не так! Для соз­да­ния ис­кус­ст­вен­но­го ин­тел­лек­та не­дос­та­точ­но ком­пью­тер­но­го кода.

Для него нужно особое «же­ле­зо» [3].

Современные искусственные нейронные сети могут рас­поз­на­вать изоб­ра­же­ния [4], клас­си­фи­ци­ро­вать данные [5], при­ни­мать уп­рав­лен­чес­кие решения [6], рас­поз­на­вать голос [7], играть в ком­пью­тер­ные игры [8] и, вообще, спо­соб­ны на многое! И, ко­неч­но, в ка­ком-то за­ча­точ­ном виде они яв­ля­ют­ся ис­кус­ст­вен­ным ин­тел­лек­том.

Но если вы хотите получить нас­то­я­щий аналог че­ло­ве­чес­ко­го соз­на­ния, то вам нужны фи­зи­чес­кие ис­кус­ст­вен­ные ней­ро­ны [3]. Просто потому, что мощная ис­кус­ст­вен­ная ней­рон­ная сеть на обычном «же­ле­зе» будет пот­реб­лять чрез­мер­но много энергии [9]. Хотя прин­цип их работы иден­ти­чен.

Вот да­вай­те раз­бе­рём­ся, в чём он состоит!

Архитектура нейронных сетей

  1. Нейрон – это блок обработки ин­фор­ма­ции, яв­ля­ю­щий­ся струк­тур­ной еди­ни­цей ней­рон­ной се­ти. Каж­дый ней­рон мо­жет при­ни­мать вход­ной сиг­нал, об­ра­ба­ты­вать сиг­на­лы, при­да­вая им «вес», и, на­ко­нец, вы­да­вать вы­ход­ные дан­ные.

  2. Простейший и наиболее рас­прост­ра­нён­ный тип ар­хи­тек­ту­ры ней­ро­на на­зы­ва­ет­ся «се­тью пря­мо­го рас­прос­т­ра­не­ния» (FFNN). Струк­тур­но он сос­то­ит из: вход­но­го ней­ро­на, скры­то­го ней­ро­на и вы­ход­но­го ней­ро­на. На ри­сун­ке ни­же (рис. 1) ней­ро­ны пред­став­ле­ны в ви­де круж­ков.

    Жёл­тые круж­ки – это вход­ные ней­ро­ны (x). Зе­лё­ные круж­ки – это скры­тые ней­ро­ны. Крас­ные круж­ки – это вы­ход­ные ней­ро­ны (y). А стре­лоч­ка­ми меж­ду ни­ми обоз­на­че­ны си­нап­сы (w), ко­то­рым мо­жет быть за­дан раз­ный «вес».

    И от не­го за­ви­сит удель­ный вес вли­я­ния каж­до­го вход­но­го ней­ро­на на зна­че­ние вы­ход­но­го ней­ро­на.

  3. В общем виде так работают все ис­кус­ст­вен­ные ней­рон­ные се­ти.

    Но в дан­ном слу­чае этот про­цесс на­и­бо­лее наг­ля­ден, по­то­му что все рас­чё­ты идут в од­ном нап­рав­ле­нии: от вход­но­го ней­ро­на че­рез скры­тые ней­ро­ны к вы­ход­но­му ней­ро­ну [10]. А в ар­хи­тек­ту­ру бо­лее слож­ных ней­рон­ных се­тей так же вхо­дят дру­гие ви­ды ней­ро­нов, но о них мы го­во­рить се­год­ня не бу­дем.

Разные искусственные нейронные сети

Зачем нейронам нужен вес?

Искусственные нейронные сети оперируют числами в ди­а­па­зо­не [0, 1] или [-1, 1]. Поэтому для расчёта степени влияния каждого от­дель­но­го фактора нужно про­вес­ти процесс нор­ма­ли­за­ции [11]. Нор­ма­ли­за­ция – это и есть процесс прис­ва­и­ва­ния «веса» каж­до­му нейрону.

Пос­ред­с­т­вом чего в скрытых нейронах удаётся рас­счи­тать влияние каж­до­го па­ра­мет­ра. Но ито­го­вые значения входных и вы­ход­ных нейронов на­хо­дят­ся в ди­а­па­зо­не [0, 1] или [-1, 1].

А ма­те­ма­ти­чес­кая фор­му­ла, через которую можно вы­ра­зить ис­кус­ст­вен­ную ней­рон­ную сеть, в общем виде выг­ля­дит так: ​( y=f(s) )​, где ​( s=sum_{j=1}^{N} w_jx_j )​, где

N – это ко­ли­чест­во вводных данных

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

∑ – это сум­ми­ро­ва­ние значений вход­ных нейронов, ум­но­жен­ных на зна­че­ния синапсов.

Wj – это зна­че­ние каждого синапса (w1, w2, w3,… wN)

Xj – это зна­че­ние каждого вход­но­го нейрона (x1, x2, x3,… xN)

y – зна­че­ние вы­ход­но­го нейрона

Пример нейронной сети

Допустим, что нам нужно решить, чем заняться вечером. Сами мы никак не мо­жем при­нять ре­ше­ние, по­э­то­му решили создать ней­рон­ную сеть, которая сде­ла­ет это за нас.

До­пус­тим, что мы ис­хо­дим из 3 па­ра­мет­ров: (1) желания встре­тить­ся с друзь­я­ми [1], (2) не­же­ла­ния тра­тить деньги [-1] и (3) не­же­ла­ния ссо­рить­ся со своей де­вуш­кой [-1]. Со­от­вет­с­т­вен­но, ре­ше­ние о том, идти пить пиво [1] или ос­тать­ся дома [-1], за­ви­сит от веса па­ра­мет­ров.

Нап­ри­мер, если у па­ра­мет­ра 1 вес будет боль­ше, чем в сумме у па­ра­мет­ров 2 и 3, то мы пой­дём пить пиво [1]. А если вес 1 будет мень­ше, чем в сум­ме у 2 и 3 па­ра­мет­ра, то мы ос­та­нем­ся дома с де­вуш­кой [-1].

Обучение искусственной нейронной сети

Настройка нейронных сетей осуществляется так же, как и обу­че­ние че­ло­ве­ка – через опыт [12]. В случае с ис­кус­ст­вен­ны­ми ней­рон­ны­ми сетями наиболее по­пу­ляр­ным ме­то­дом обу­че­ния яв­ля­ет­ся метод об­рат­но­го рас­прост­ра­не­ния (back­pro­pa­ga­tion) [13].

Он пред­по­ла­га­ет вы­чис­ле­ние гра­ди­ен­та функции по всем весам, с пос­ле­ду­ю­щей их оп­ти­ми­за­цией. Каждый такой «тре­ни­ро­воч­ный подход» на­зы­ва­ет­ся эпохой или ите­ра­цией. И, со­от­вет­с­т­вен­но, чем выше эпоха, тем лучше на­тре­ни­ро­ва­на сеть [14]. Но если тре­ни­ро­вать её слишком долго, то она может «сой­ти с ума».

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

Градиент функции – это вектор, определяющий нап­рав­ле­ние на гра­фи­ке или по­верх­нос­ти. Со­от­вет­с­т­вен­но, нашей целью яв­ля­ет­ся найти такой гра­ди­ент, который будет вы­да­вать всё более и более низкий процент ошибок с каж­дой пос­ле­ду­ю­щей эпо­хой.

Хотя это и не ли­ней­ный процесс. Пред­с­тавь­те себе аме­ри­кан­с­кие гор­ки. Там есть ло­каль­ные мак­си­му­мы и ми­ни­му­мы. И если вы в низине, то это не зна­чит, что вам не сле­ду­ет под­ни­мать­ся на гору, чтобы дос­тичь ещё более глу­бо­кой низины.

Но на наших «аме­ри­кан­с­ких горках» есть го­ры, иду­щие только вверх. По­э­то­му «те­леж­ке» нужно задать оп­ти­маль­ный им­пульс (mo­men­tum).

И если всё сде­ла­но пра­виль­но, то, в итоге, уда­ёт­ся найти такое зна­че­ние «ве­сов», ко­то­рое, в идеале, вы­да­ёт 0% ошибок.

Важно

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

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

Ну а под­роб­нос­ти обучения ней­рон­ных сетей давайте ос­та­вим на сле­ду­ю­щий раз! Потому что моя сеть на­чи­на­ет «за­ки­пать».

P.S. Бла­го­да­рим за вни­ма­ние! На­де­ем­ся, что ста­тья бы­ла ин­те­рес­на и поз­на­ва­тель­на.

Ес­ли у вас ос­та­лись ка­кие-ли­бо воп­ро­сы, есть за­ме­ча­ния или вы хо­ти­те выс­ка­зать сло­ва бла­го­дар­нос­ти, то для все­го это­го мож­но вос­поль­зо­вать­ся фор­мой ком­мен­та­ри­ев ни­же.

Оце­ни­вай­те ста­тью, де­ли­тесь ею с друзь­я­ми в со­ци­аль­ных се­тях, до­бав­ляй­те сайт в из­бран­ное и бо­ри­тесь с мра­ко­бе­си­ем во всех его про­яв­ле­ни­ях, аминь!

Источники

[1] sciencedirect.com/science/article/pii/S1877050916311383

[2] ncbi.nlm.nih.gov/pmc/articles/PMC3811098/

[3] nature.com/articles/d41586-018-02025-x

[4] sciencedirect.com/science/article/pii/S0924271618300352

[5] sciencedirect.com/science/article/pii/0098300495000593

[6] ncbi.nlm.nih.gov/pmc/articles/PMC5786439/

[7] ncbi.nlm.nih.gov/pmc/articles/PMC5818638/

[8] arxiv.org/abs/1802.05267

[9] ncbi.nlm.nih.gov/pmc/articles/PMC4928881/

[10] sciencedirect.com/science/article/pii/S1877050915019791

[11] arxiv.org/abs/1803.10560

[12] nature.com/articles/d41586-018-05297-5

[13] arxiv.org/abs/1611.09934

[14] ncbi.nlm.nih.gov/pmc/articles/PMC5075856/

[свернуть]

Загрузка…

Источник: https://pop-science.ru/iskusstvennye-nejronnye-seti

Нейронные сети. C чего начать?

Недавно меня пригласили в закрытый чат в телеграмме – Нейронные сети (AI Community). В этом чате собрались полторы тысячи специалистов и людей, интересующихся нейронными сетями, машинным обучением и работой с данными.

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

До этого у меня был стереотип, что ИИ занимаются только избранные люди с математическим образованием, но, как в известной пословице, “не боги горшки обжигают”.<\p>

Из чата я узнал, как люди изучают построение нейронных сетей с нуля.

Совет

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

В этом мне помогли следующие два видео:

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

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

Представьте, что перед вами написанное от руки число. Вне зависимости от особенностей почерка, человек легко отличит 3 от 6 или 1. Как быть компьютеру? Наклон, размер и даже вид различных цифр отличается каждый раз. Чтобы решить такую сложную задачу, нужно разбить ее на несколько меньших частей.

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

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

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

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

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

Обратите внимание

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

После сравнительно большого числа повторений, нейросеть станет давать правильный ответ с определенной, достаточно высокой вероятностью.

Для оценки результатов тренировки создается еще одна функция, которая оценивает отклонение. Такую функцию называют функцией ошибки или функцией потерь (cost function). Задача обучения состоит в нахождении минимума этой функции. Сам процесс обучения т.н. backpropagation (Метод обратного распространения ошибки) будет рассмотрен в следующем видео, которое выйдет скоро.

Я подписался на канал и буду держать вас в курсе новых лекций. Для того, чтобы приближать светлое будущее с технологическим прогрессом, нужно понимать, как он работает и с чем именно он нам поможет. В следующей части я сделаю обзор самых популярных курсов для новичков по ИИ и machine learning.

Один из таких курсов начинается на Coursera с 30 октября 2017 года. “Введение в машинное обучение” – это стартовый курс по машинному обучению от Школы Анализа Данных Яндекса и Высшей Школы Экономики. Я беру этот курс сейчас, у вас тоже есть возможность присоединиться. Курс бесплатный, если вы не хотите получить сертификат о прохождении по завершению. 

https://www.coursera.org/learn/vvedenie-mashinnoe-obuchenie#

Чтобы получить приглашение в чат о нейронных сетях, свяжитесь со мной в telegram @vintego

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

Источник: https://the-robot.ru/study/nejronnye-seti-c-chego-nachat/

Нейронные сети: их применение, работа

Содержание:

  • Что такое нейронные сети
  • Биологические нейронные сети
  • История нейронных сетей
  • Искусственные нейронные сети
  • Применение нейронных сетей
  • Типы нейронных сетей
  • Сверточные нейронные сети
  • Рекуррентные нейронные сети
  • Нейронные сети, видео
  • В последнее время все чаще и чаще говорят про так званные нейронные сети, дескать вскоре они будут активно применятся и в роботехнике, и в машиностроении, и во многих других сферах человеческой деятельности, ну а алгоритмы поисковых систем, того же Гугла уже потихоньку начинают на них работать. Что же представляют собой эти нейронные сети, как они работают, какое у них применение и чем они могут стать полезными для нас, обо всем этом читайте дальше.

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

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

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

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

    Важно

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

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

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

    Какова же история развития нейронных сетей в науке и технике? Она берет свое начало с появлением первых компьютеров или ЭВМ (электронно-вычислительная машина) как их называли в те времена. Так еще в конце 1940-х годов некто Дональд Хебб разработал механизм нейронной сети, чем заложил правила обучения ЭВМ, этих «протокомпьютеров».

    Дальнейшая хронология событий была следующей:

    • В 1954 году происходит первое практическое использование нейронных сетей в работе ЭВМ.
    • В 1958 году Франком Розенблатом разработан алгоритм распознавания образов и математическая аннотация к нему.
    • В 1960-х годах интерес к разработке нейронных сетей несколько угас из-за слабых мощностей компьютеров того времени.
    • И снова возродился уже в 1980-х годах, именно в этот период появляется система с механизмом обратной связи, разрабатываются алгоритмы самообучения.
    • К 2000 году мощности компьютеров выросли настолько, что смогли воплотить самые смелые мечты ученых прошлого. В это время появляются программы распознавания голоса, компьютерного зрения и многое другое.

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

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

    Область применения искусственных нейронных сетей с каждым годом все более расширяется, на сегодняшний день они используются в таких сферах как:

    • Машинное обучение (machine learning), представляющее собой разновидность искусственного интеллекта. В основе его лежит обучение ИИ на примере миллионов однотипных задач. В наше время машинное обучение активно внедряют поисковые системы Гугл, Яндекс, Бинг, Байду. Так на основе миллионов поисковых запросов, которые все мы каждый день вводим в Гугле, их алгоритмы учатся показывать нам наиболее релевантную выдачу, чтобы мы могли найти именно то, что ищем.
    • В роботехнике нейронные сети используются в выработке многочисленных алгоритмов для железных «мозгов» роботов.
    • Архитекторы компьютерных систем пользуются нейронными сетями для решения проблемы параллельных вычислений.
    • С помощью нейронных сетей математики могут разрешать разные сложные математические задачи.

    В целом для разных задач применяются различные виды и типы нейронных сетей, среди которых можно выделить:

    • сверточные нейронные сети,
    • реккурентные нейронные сети,
    • нейронную сеть Хопфилда.

    Далее мы детально остановимся на некоторых из них.

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

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

    Рекуррентными называют такие нейронные сети, соединения между нейронами которых, образуют ориентировочный цикл. Имеет такие характеристики:

    • У каждого соединения есть свой вес, он же приоритет.
    • Узлы делятся на два типа, вводные узлы и узлы скрытые.
    • Информация в рекуррентной нейронной сети передается не только по прямой, слой за слоем, но и между самими нейронами.
    • Важной отличительной особенностью рекуррентной нейронной сети является наличие так званой «области внимания», когда машине можно задать определенные фрагменты данных, требующие усиленной обработки.

    Источник: http://www.poznavayka.org/nauka-i-tehnika/neyronnyie-seti-ih-primenenie-rabota/

    Ссылка на основную публикацию
    Adblock
    detector