Что такое нейросети и как они работают. Бум нейросетей: Кто делает нейронные сети, зачем они нужны и сколько денег могут приносить

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

Шаг 1. Нейроны и метод прямого распространения

Так что же такое «нейронная сеть»? Давайте подождём с этим и сперва разберёмся с одним нейроном.

Нейрон похож на функцию: он принимает на вход несколько значений и возвращает одно.

Круг ниже обозначает искусственный нейрон. Он получает 5 и возвращает 1. Ввод - это сумма трёх соединённых с нейроном синапсов (три стрелки слева).

В левой части картинки мы видим 2 входных значения (зелёного цвета) и смещение (выделено коричневым цветом).

Входные данные могут быть численными представлениями двух разных свойств. Например, при создании спам-фильтра они могли бы означать наличие более чем одного слова, написанного ЗАГЛАВНЫМИ БУКВАМИ, и наличие слова «виагра».

Входные значения умножаются на свои так называемые «веса», 7 и 3 (выделено синим).

Теперь мы складываем полученные значения со смещением и получаем число, в нашем случае 5 (выделено красным). Это - ввод нашего искусственного нейрона.

Потом нейрон производит какое-то вычисление и выдает выходное значение. Мы получили 1, т.к. округлённое значение сигмоиды в точке 5 равно 1 (более подробно об этой функции поговорим позже).

Если бы это был спам-фильтр, факт вывода 1 означал бы то, что текст был помечен нейроном как спам.

Иллюстрация нейронной сети с Википедии.

Если вы объедините эти нейроны, то получите прямо распространяющуюся нейронную сеть - процесс идёт от ввода к выводу, через нейроны, соединённые синапсами, как на картинке слева.

Шаг 2. Сигмоида

После того, как вы посмотрели уроки от Welch Labs, хорошей идеей было бы ознакомиться с четвертой неделей курса по машинному обучению от Coursera , посвящённой нейронным сетям - она поможет разобраться в принципах их работы. Курс сильно углубляется в математику и основан на Octave, а я предпочитаю Python. Из-за этого я пропустил упражнения и почерпнул все необходимые знания из видео.

Сигмоида просто-напросто отображает ваше значение (по горизонтальной оси) на отрезок от 0 до 1.

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

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

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

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

Шаг 3. Метод обратного распространения ошибки

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

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

Краткое описание феномена

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

  • Машинное обучение - разновидность искусственного интеллекта. Особенность его заключается в постепенном обучении на примере миллионов однотипных задач;
  • В робототехнике система используется в выработке многочисленных алгоритмов для железных «мозгов» автоматических систем;
  • Архитекторы компьютерных систем находят в нейросетях одно из решений проблемы параллельных вычислений;
  • Также имеются многие другие варианты имплементации: разрешение сугубо математических проблем, моделирование естественного интеллекта на основе ЭВМ и др.

Основными элементами такой сети являются:

  1. Искусственные нейроны - элементарные, связанные между собой единицы;
  2. Синапс - соединение, которое служит для отправки-получения данных между нейронами;
  3. Сигнал - информация, подлежащая передаче.

Сверточные нейронные сети

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

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

Экскурс в историю

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

  • Первая вычислительная модель пороговой логики на основе математики и алгоритмов была построена Уорреном Маккалоком и Уолтером Питттсом в 1943 году;
  • В конце 1940-х годов Дональд Хебб разработал механизм нейронной пластичности и тем самым заложил правила обучения автоматов;
  • 1954 годом датируется первое применение теоретических открытий в работе ЭВМ. Элисон Кларк использовал для этих целей обычный калькулятор;
  • Фрэнк Розенблатт в 1958 году разработал алгоритм распознавания образов и математическую нотацию к нему;
  • В конце 1960-х научный интерес к проблематике заметно угас ввиду невозможности его применения на аппаратных мощностях того времени;
  • Кибернетики вернулись к нейронным сетям лишь в начале 1980-х: появилась система с механизмом обратной связи, разработаны алгоритмы самообучения и заложены основы дисциплины data mining;
  • К 2000-м вычислительная мощность ЭВМ выросла настолько, что позволила реализовать самые смелые чаяния кабинетных ученых. Широкое распространение получили программы распознавания голоса, компьютерного зрения и т. д.

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

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

  1. Блоки в сети могут принимать только два значения для описания их состояния: 1 и -1. Каждая пара единиц значения говорит о возможности или невозможности подключения узлов графа;
  2. Обновление одного узла в графе моделирования искусственных нейронов выполняется асинхронно или синхронно. В первом случае обновляется только один блок, который может быть выбран случайным образом. Во втором случае все блоки обновляются одновременно;
  3. Сеть характеризуется состоянием, которое называется «энергией». Обновления сетей всегда происходят при максимальных значениях энергии;
  4. Правила обучения сети аналогичны механизмам человеческого интеллекта. Возможно подключение новых данных как с использованием старых данных (локальное правило), так и без обращения к старым образцам (добавочное правило).

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

Основные ограничения и проблемы

Список основных претензий к современным методам интеллектуального анализа данных сводятся к следующему:

  1. Требуются значительные затраты времени на сбор подходящей информации и последующее обучение машины. В первую очередь касается робототехники;
  2. Ни одна из существующих ныне систем не способна решить фундаментальные математические проблемы (задача коммивояжера и факторизация больших чисел);
  3. Высокая сложность создания, настройки и обслуживания систем. Для этого требуются специалисты с очень высокой квалификацией, оплачивать услуги которых могут позволить себе только очень крупные корпорации;
  4. Для эффективной работы необходимо наличие высокопроизводительных ферм ЭВМ и программного обеспечения. Проблема постепенно решается благодаря увеличению аппаратной мощности графических процессоров: с 1991 по 2015 годы она возросла в миллион раз.

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

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

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

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

Благодаря особенностям конструкции сеть используется для решения широкого круга задач:

  • Распознавание вербальных и текстовых данных;
  • В то же время, понимание смысла текста затруднено: машина «видит» лишь визуальную картинку без привязки к качественным характеристикам;
  • РНН в настоящее время используется в системах автоматизированного перевода текста (например, Яндекс.Переводчик).

Если в XX веке умнейшие люди планеты занимались проектированием ракет, то ныне объектом приложения их интеллектуального потенциала являются нейронные сети. Что это, сложно сегодня не знать, ведь о достижении в этой области трубят ведущие СМИ на каждом шагу. Самые известные примеры: голосовой помощник Apple Siri, онлайн-переводчик Google Translate, поисковый движок Яндекса «Палех». И это только начало на пути к полноценному искусственному интеллекту.

Видео про устройство нейронных сетей

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

  • Мозг
  • Когда, за бутылкой пива, я заводил разговор о нейронных сетях - люди обычно начинали боязливо на меня смотреть, грустнели, иногда у них начинал дёргаться глаз, а в крайних случаях они залезали под стол. Но, на самом деле, эти сети просты и интуитивны. Да-да, именно так! И, позвольте, я вам это докажу!

    Допустим, я знаю о девушке две вещи - симпатична она мне или нет, а также, есть ли о чём мне с ней поговорить. Если есть, то будем считать это единицей, если нет, то - нулём. Аналогичный принцип возьмем и для внешности. Вопрос: “В какую девушку я влюблюсь и почему?”


    Можно подумать просто и бескомпромиссно: “Если симпатична и есть о чём поговорить, то влюблюсь. Если ни то и ни другое, то - увольте.”


    Но что если дама мне симпатична, но с ней не о чем разговаривать? Или наоборот?


    Понятно, что для каждого из нас что-то одно будет важнее. Точнее, у каждого параметра есть его уровень важности, или вернее сказать - вес. Если помножить параметр на его вес, то получится соответственно “влияние внешности” и “влияние болтливости разговора”.


    И вот теперь я с чистой совестью могу ответить на свой вопрос:


    “Если влияние харизмы и влияние болтливости в сумме больше значения “влюбчивость” то влюблюсь…”



    То есть, если я поставлю большой вес “болтологичности” дамы и маленький вес внешности, то в спорной ситуации я влюблюсь в особу, с которой приятно поболтать. И наоборот.



    Собственно, это правило и есть нейрон.


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


    Сделаем ещё несколько выводов:

    • Если оба веса будут малыми, то мне будет сложно влюбиться в кого бы-то ни было.
    • Если же оба веса будут чересчур большими, то я влюблюсь хоть в столб.
    • Заставить меня влюбиться в столб можно также, понизив порог влюбчивости, но прошу - не делайте со мной этого! Лучше давайте пока забудем про него, ок?

    Кстати о пороге

    Смешно, но параметр “влюбчивости” называется “порогом возбуждения”. Но, дабы эта статья не получила рейтинг “18+”, давайте договоримся говорить просто “порог”, ок?

    Нейронная сеть

    Не бывает однозначно симпатичных и однозначно общительных дам. Да и влюблённость влюблённости рознь, кто бы что ни говорил. Потому давайте вместо брутальных и бескомпромиссных “0” и “1”, будем использовать проценты. Тогда можно сказать - “я сильно влюблён (80%), или “эта дама не особо разговорчива (20%)”.


    Наш примитивный “нейрон-максималист” из первой части уже нам не подходит. Ему на смену приходит “нейрон-мудрец”, результатом работы которого будет число от 0 до 1, в зависимости от входных данных.



    “Нейрон-мудрец” может нам сказать: “эта дама достаточно красива, но я не знаю о чём с ней говорить, поэтому я не очень-то ей и восхищён”



    Немного терминологии

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


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


    Но, судить девушку по двум характеристикам - это очень грубо. Давайте судить её по трём! Добавим ещё один факт – деньги. Который будет варьироваться от нуля (абсолютно бедная) до единицы (дочь Рокфеллера). Посмотрим, как с приходом денег изменятся наши суждения….


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


    В работе мне абсолютно всё равно, сколько денег у девушки, поэтому вес сделаю равным нулю.



    Оценивать девушку только для работы и влюблённости - очень глупо. Давайте добавим, насколько с ней будет приятно путешествовать:

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

    Соединим все эти три схемы в одну и обнаружим, что мы перешли на более глубокий уровень суждений, а именно: от харизмы, денег и разговорчивости - к восхищению, сотрудничеству и комфортности совместного путешествия. И заметьте - это тоже сигналы от нуля до единицы. А значит, теперь я могу добавить финальный “нейрон-максималист”, и пускай он однозначно ответит на вопрос - “жениться или нет”?



    Ладно, конечно же, не всё так просто (в плане женщин). Привнесём немного драматизма и реальности в наш простой и радужный мир. Во-первых, сделаем нейрон "женюсь - не женюсь" - мудрым. Сомнения же присущи всем, так или иначе. И ещё - добавим нейрон "хочу от неё детей" и, чтобы совсем по правде, нейрон “держись от неё подальше".


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


    Входные суждения называются “входной слой”, итоговые - “выходной слой”, а тот, что скрывается посередине, называется "скрытым". Скрытый слой - это мои суждения, полуфабрикаты, мысли, о которых никто не знает. Скрытых слоёв может быть несколько, а может быть и ни одного.

    Долой максимализм.

    Помните, я говорил об отрицательном влияние денег на моё желание путешествовать с человеком? Так вот - я слукавил. Для путешествий лучше всего подходит персона, у которой денег не мало, и не много. Мне так интереснее и не буду объяснять почему.


    Но тут я сталкиваюсь с проблемой:


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


    Не получается мне вот так, одним весом, заставить нейрон распознать ситуацию “ни много -ни мало”!


    Чтобы это обойти, я сделаю два нейрона - “денег много” и “денег мало”, и подам им на вход денежный поток от нашей дамы.


    Теперь у меня есть два суждения: “много” и “мало”. Если оба вывода незначительны, то буквально получится “ни много - ни мало”. То есть, добавим на выход ещё один нейрон, с отрицательными весами:



    “Нимногонимало”. Красные стрелки - положительные связи, синие - отрицательные


    Вообще, это значит, что нейроны подобны элементам конструктора. Подобно тому, как процессор делают из транзисторов, мы можем собрать из нейронов мозг. Например, суждение “Или богата, или умна” можно сделать так:



    Или-или. Красные стрелки - положительные связи, синие – отрицательные




    можно заменить “мудрые” нейроны на “максималистов” и тогда получим логический оператор XOR. Главное - не забыть настроить пороги возбуждения.


    В отличие от транзисторов и бескомпромиссной логики типичного программиста “если - то”, нейронная сеть умеет принимать взвешенные решения. Их результаты будут плавно меняться, при плавном изменение входных параметров. Вот она мудрость!


    Обращу ваше внимание, что добавление слоя из двух нейронов, позволило нейрону “ни много - ни мало” делать более сложное и взвешенное суждение, перейти на новый уровень логики. От “много” или “мало” - к компромиссному решению, к более глубокому, с философской точки зрения, суждению. А что если добавить скрытых слоёв ещё? Мы способны охватить разумом ту простую сеть, но как насчёт сети, у которой есть 7 слоёв? Способны ли мы осознать глубину её суждений? А если в каждом из них, включая входной, около тысячи нейронов? Как вы думаете, на что она способна?


    Представьте, что я и дальше усложнял свой пример с женитьбой и влюблённостью, и пришёл к такой сети. Где-то там в ней скрыты все наши девять нейрончиков, и это уже больше похоже на правду. При всём желании, понять все зависимости и глубину суждений такой сети - попросту невозможно. Для меня переход от сети 3х3 к 7х1000 - сравним с осознанием масштабов, если не вселенной, то галактики - относительно моего роста. Попросту говоря, у меня это не получится. Решение такой сети, загоревшийся выход одного из её нейронов - будет необъясним логикой. Это то, что в быту мы можем назвать “интуицией” (по крайней мере – “одно из..”). Непонятное желание системы или её подсказка.


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

    Обучение.

    Несколькими строчками ранее я обмолвился о хорошо настроенной сети, чем вероятно спровоцировал немой вопрос: “А как мы можем настроить сеть, состоящую из нескольких тысяч нейронов? Сколько “человеколет” и погубленных жизней нужно на это?.. Боюсь предположить ответ на последний вопрос. Куда лучше автоматизировать такой процесс настройки - заставить сеть саму настраивать себя. Такой процесс автоматизации называется обучением. И чтобы дать поверхностное о нём представление, я вернусь к изначальной метафоре об “очень важном вопросе”:


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


    1) Обучение с учителем (для романтиков). Насмотреться на голливудские мелодрамы и начитаться слезливых романов. Или же насмотреться на своих родителей и/или друзей. После этого, в зависимости от выборки, отправиться проверять полученные знания. После неудачной попытки - повторить всё заново, начиная с романов.


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


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



    Всё вышесказанное справедливо для искусственной нейронной сети типа “персептрон”. Остальные сети похожи на нее по основным принципам, но имеют свою нюансы.


    Хороших вам весов и отличных обучающих выборок! Ну а если это уже и не нужно, то расскажите об этом кому-нибудь ещё.


    Теги:

    • нейронные сети
    • алгоритмы
    Добавить метки

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

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

    Илон Маск после того, как колонизировал Марс

    Джеффри Хинтон - один из создателей концепции глубокого обучения, призер премии Тьюринга 2019 года и инженер . На прошлой неделе, во время конференции разработчиков I/O, Wired взял у него интервью и обсудил его увлечение мозгом и возможностью смоделировать компьютер на основе нейронной структуры мозга. Долгое время эти идеи считались дурацкими. Интересная и увлекательная беседа о сознании, будущих планах Хинтона и о том, можно ли научить компьютеры видеть сны.

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

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

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

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

    Можно привести следующую сильно упрощенную модель биологической нейронной сети:

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

    В 60-80 годах XX века приоритетным направлением исследований в области искусственного интеллекта были . Экспертные системы хорошо себя зарекомендовали, но только в узкоспециализированных областях. Для создания более универсальных интеллектуальных систем требовался другой подход. Наверное, это привело к тому, что исследователи искусственного интеллекта обратили внимание на биологические нейронные сети, которые лежат в основе человеческого мозга.

    Нейронные сети в искусственном интеллекте – это упрощенные модели биологических нейронных сетей.

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

    У нейронных сетей много важных свойств, но ключевое из них – это способность к обучению. Обучение нейронной сети в первую очередь заключается в изменении «силы» синаптических связей между нейронами. Следующий пример наглядно это демонстрирует. В классическом опыте Павлова, каждый раз непосредственно перед кормлением собаки звонил колокольчик. Собака достаточно быстро научилась ассоциировать звонок колокольчика с приемом пищи. Это явилось следствием того, что синаптические связи между участками головного мозга, ответственными за слух и слюнные железы, усилились. И в последующем возбуждение нейронной сети звуком колокольчика, стало приводить к более сильному слюноотделению у собаки.

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