Openbravo-rus.ru

Образование по русски
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Эволюционные методы обучения в системах ии

Азбука ИИ: «Эволюционные алгоритмы»

Чему Дарвин научил инженеров и есть ли у программы генотип

Karl Sims, Evolved Virtual Creatures, Evolution Simulation, 1994

Термином «искусственный интеллект» давно уже называют целое направление в теории информации и программировании, связанное с созданием разного рода «умных» систем. Здесь очень много методов, все они довольно сложные и порой весьма неочевидно связаны друг с другом. Цель нашего с Физтехом проекта — подробно и понятно объяснить, чем именно занимаются специалисты по искусственному интеллекту и какие направления существуют в этих исследованиях. Начнем мы с одной из самых интересных областей ИИ — с эволюционных алгоритмов. О том, что это такое и как это работает, нам рассказал Михаил Бурцев, заведующий лабораторией нейронных сетей и глубокого обучения МФТИ.

Что такое эволюционные алгоритмы?

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

Как это выглядит в реальной жизни?

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

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

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

И как нам создать автопилот?

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

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

2. Создаем исходную популяцию решений, случайно задав значения генов. Пусть у нас будет 100 автопилотов.

3. Каждую особь-нейросеть популяции тестируем в виртуальном симуляторе автомобиля. После теста при помощи функции приспособленности рассчитываем приспособленность каждой особи.

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

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

6. Теперь у нас есть следующее поколение, для его тестирования переходим к п. 3.

7. Отслеживаем, насколько хорошо решается поставленная задача. Если автопилот уже годы ездит в виртуальном городе, наполненном пешеходами и другими машинами, не нарушая правила и не попадая в аварии, значит, возможно, пора тестировать его в реальных условиях.

А эволюционные алгоритмы всегда основаны на нейросетях?

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

Какие еще есть варианты?

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

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

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

А можно самому посмотреть на то, как происходит эволюция?

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

Форма: 8 генов, кодирующих вершины треугольников

Размер колес: 2 гена

Положение колес: 2 гена

Плотность колес: 2 гена

Плотность шасси: 2 гена

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

Есть и другие примеры. Группа Карла Симса в середине 90-х занималась коэволюциие морфологии и нейроконтроллера. Результаты этой работы можно увидеть в этом видео:

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

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

Какие у эволюционных алгоримов врожденные плюсы и минусы? Чем эволюционный подход лучше, например, классического обучения нейросетей (методом обратного распространения ошибки) или обучения с подкреплением?

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

Читать еще:  Налоговый вычет за обучение у репетитора

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

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

Какой из эволюционных подходов на сегодняшний день самый многообещающий? Можно ли ожидать революции в этом направлении?

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

Подробнее о методах и алгоритмах машинного обучения искусственного интеллекта

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

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

Традиционно вокруг нового и неизведанного возникает множество споров. И пусть об ИИ уже написано много, он до конца не понят людьми. Отсюда и возникают претензии типа: «Он заберет сотни рабочих мест у людей!», «Он восстанет против людей!», «Да мы сами себе роем могилу!», «Рано или поздно мы не сможем им управлять!» и т.п. Масса людей представляет себе ИИ как сверхразум, который раз уж не поддается их собственному объяснению, значит непременно представляет для них угрозу. И конечно, никто и слышать не хочет, что сейчас ИИ не принимает собственных решений, выходящих за пределы программы, прописанной человеком, на данный момент это технически невозможно.

А чему всё-таки возможно его обучить и как это происходит?

Методы машинного обучения искусственного интеллекта:

Индуктивное обучение

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

Дедуктивное обучение

Формализация данных, полученных человеком разными способами, и внесение их напрямую в базу;

Основные алгоритмы принятия решений искусственным интеллектом:

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

Один из простейших методов классификации.

Данный метод используется в технологии сканирования и распознавания лиц/сетчатки глаза/отпечатка пальца, в разделении контента в новостной ленте по темам, а также в разделении писем в Вашей электронной почте по категориям (конкретно — отделение спама);

Метод ансамблей

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

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

Метод опорных векторов

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

Подобная технология используется в распознавании определенных свойств объекта по фотографии (цвета волос, пола, цвета одежды), а также в генетике — в сплайсинге ДНК (отделение конкретных нуклеотидных последовательностей из РНК и их соединение в ходе процессинга РНК).

Дерево принятия решений

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

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

Логическая регрессия

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


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

Метод наименьших квадратов

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

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

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

Эволюционные методы обучения в системах ии

Нечёткая логика и теория нечётких множеств — раздел математики, являющийся обобщением классической логики и теории множеств. Понятие нечёткой логики было впервые введено профессором Лютфи Заде в 1965 году. В этой статье понятие множества было расширено допущением, что функция принадлежности элемента к множеству может принимать любые значения в интервале [0. 1], а не только 0 или 1. Такие множества были названы нечёткими. Также автором были предложены различные логические операции над нечёткими множествами и предложено понятие лингвистической переменной, в качестве значений которой выступают нечёткие множества.

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

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

Экспертная система (ЭС, expert system) — компьютерная программа, способная частично заменить специалиста-эксперта в разрешении проблемной ситуации. Современные ЭС начали разрабатываться исследователями искусственного интеллекта в 1970-х годах, а в 1980-х получили коммерческое подкрепление. Предтечи экспертных систем были предложены в 1832 году С. Н. Корсаковым, создавшим механические устройства, так называемые «интеллектуальные машины», позволявшие находить решения по заданным условиям, например определять наиболее подходящие лекарства по наблюдаемым у пациента симптомам заболевания.

Читать еще:  Джава скрипт обучение

Генетический алгоритм (англ. genetic algorithm ) — это эвристический алгоритм поиска, используемый для решения задач оптимизации и моделирования путём случайного подбора, комбинирования и вариации искомых параметров с использованием механизмов, напоминающих биологическую эволюцию. Является разновидностью эволюционных вычислений. Отличительной особенностью генетического алгоритма является акцент на использование оператора «скрещивания», который производит операцию рекомбинации решений-кандидатов, роль которой аналогична роли скрещивания в живой природе.

Символьное моделирование мыслительных процессов

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

Работа с естественными языками

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

Накопление и использование знаний

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

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

Биологическое моделирование искусственного интеллекта

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

Сюда можно отнести несколько направлений. Нейронные сети используются для решения нечётких и сложных проблем, таких как распознавание геометрических фигур или кластеризация объектов. Генетический подход основан на идее, что некий алгоритм может стать более эффективным, если позаимствует лучшие характеристики у других алгоритмов («родителей»). Относительно новый подход, где ставится задача создания автономной программы — агента, взаимодействующего с внешней средой, называется агентным подходом.

Эволюционные методы обучения в системах ии

Об авторе: Андрей Беляев, технический директор (CTO) исследовательской компании Neurodata Lab.

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

В чем разница между этими названиями?

Все задачи, которые может решать человек или компьютер, можно условно разделить на две категории: рутинные и нерутинные.

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

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

Получается, что машинное обучение — это обучение ИИ

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

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

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

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

Такие алгоритмы можно научить решать задачи любой сложности?

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

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

А что насчет глубокого обучения? Чем оно отличается от машинного?

Как машинное обучение является подвидом искусственного интеллекта, так и глубокое обучение является подвидом машинного (см. картинку в начале статьи). В глубоком обучении используются те же подходы: алгоритму дают много данных и «ругают» его за ошибки. Разница здесь в том, что сами алгоритмы глубокого обучения устроены гораздо сложнее и часто используют более серьезные математические модели. Сейчас под алгоритмами глубокого обучения практически всегда подразумевают нейронные сети.

Нейронные сети? Как те, что в мозгу у человека?

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

И все же можно как-то сравнить процессы внутри нейросети с деятельностью мозга?

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

Читать еще:  Программист дистанционное обучение

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

А как происходит процесс обучения?

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

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

Что значит «поощрять» и «штрафовать» нейросеть?

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

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

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

Подписывайтесь и читайте нас в Яндекс.Дзене — технологии, инновации, эко-номика, образование и шеринг в одном канале.

Искусственный интеллект, машинное обучение и глубокое обучение: в чём различия

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

Мы все знакомы с термином «искусственный интеллект» (ИИ). О нём снято много фильмов — «Терминатор», «Матрица», «Из машины». Но вы, наверное, слышали и о других терминах — машинное обучение (Machine Learning) и глубокое обучение (Deep Learning). Их иногда используют как синонимы искусственного интеллекта, в результате не видно разницы между искусственным интеллектом, машинным обучением и глубоким обучением.

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

Различия между терминами

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

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

Машинное обучение — это процесс реализации искусственного интеллекта.

В 1959 году Артур Сэмюэл придумал термин «машинное обучение» — способность компьютера учиться без участия человека. То есть искусственный интеллект возможен без машинного обучения, но для этого понадобится миллион строк кода со сложными правилами и условиями.

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

С помощью машинного обучения была значительно улучшена способность компьютера распознавать объект на изображении или видео — компьютерное зрение. Для этого вы собираете сотни тысяч картинок, а затем люди отмечают на них, например, кошек. Алгоритм строит для компьютера модель, чтобы тот смог определять и выделять картинки с кошками так, как это делает человек. В результате он «узнаёт», как выглядят кошки, и научится распознавать их без ошибок.

Глубокое обучение — один из множества подходов к машинному обучению.

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

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

ИНС состоит из искусственных нейронов, которые взаимодействуют между собой. Они расположены слоями — каждый слой реагирует на опредёленные признаки, например, изгибы и границы фигур при распознавании изображения. Именно из-за множества слоёв обучение называется глубоким.

Искусственный интеллект и интернет вещей неразрывно связаны

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

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

Искусственный интеллект и интернет вещей стали важными и перспективными технологиями благодаря друг другу.

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

Развитие ИИ также будет способствовать внедрению интернета вещей и приведёт к стремительному росту обеих областей.

С помощью интернета вещей искусственный интеллект совершенствуется. Благодаря искусственному интеллекту интернет вещей становится доступным для человека.

ИИ может прогнозировать необходимость ремонта или анализировать процесс производства. Это помогает увеличить эффективность работы и сэкономить миллионы долларов.

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

Объединение технологических достижений

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

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

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

Мнение автора и редакции может не совпадать. Хотите написать колонку для «Нетологии»? Читайте наши условия публикации. Чтобы быть в курсе всех новостей и читать новые статьи, присоединяйтесь к Телеграм-каналу Нетологии.

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