ru
Назад к списку

Машинное обучение: мусор на входе – мусор на выходе

30 Апрель 2019 11:50, UTC
Александр БВ

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

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

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

Элементарный биологический процессор

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

Дендриты – это разветвленная сеть отростков с одной стороны тела нейрона, при помощи которых он контактирует с остальными клетками (в том числе нервными) – принимает от них сигналы. Место, в котором к дендриту присоединяется отросток другой клетки, называется синапсом. У одного нейрона может быть до 200 тыс. синапсов.

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

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

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

Процессор, компьютер… или сеть?

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

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

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

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

Все это сильно переплетенное многочисленными связями «хозяйство» непрерывно принимает, обрабатывает и передает сигналы. И только сигналы.

Дендриты, аксоны, нейроны, вычисления, нейросети… А где прячется разум?

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

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

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

Если принять эту схему сознания (разума, интеллекта) за основу, то картина вырисовывается приблизительно такая.


Человеческий интеллект – это своеобразная карта «маршрутов», схема многочисленных взаимодействий в мозгу и нервной системе, где более насыщенные «трафиком» и лучше обустроенные и есть черты личности и индивидуальные особенности.

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

Назад к компьютерам: перцептрон

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

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

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

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

Чуть подробнее об устройстве перцептрона

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

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

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

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

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

Машинное обучение: проблемы решаются наоборот


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

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

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

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

Проблемы машинного обучения

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

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

Подготовка таких данных – занятие трудоемкое и требующее значительных затрат, которые приходится нести, если нужно добиться хороших результатов. Здесь хорошо применима старая поговорка в компьютерных кругах: Garbage in, garbage out (мусор на входе – мусор на выходе).

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

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

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

Задачи, которые решают при помощи машинного обучения

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

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

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

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

Напоследок – философская ложка дегтя

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

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

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

Продолжение следует.

Иллюстрация: Naked Security