В продолжение статьи «Сравнение технологических подходов к решению задач по извлечению данных» рассмотрим технологии, наиболее часто упоминающиеся в связи с понятием «искусственный интеллект» в контексте поисковых задач. На habrahabr.ru опубликовано множество статей на эту тему, например, об использовании нейросетей в поиске Яндкса, в которой говорится что «Фактически, формулу ранжирования пишет машина (получалось около 300 мегабайт)», о глубоком обучении, о вероятностном программировании и т.д.

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

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

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

1. Нейронные сети
2. Генетические алгоритмы
3. Методы вероятностного программирования и т.д.

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

1. Предполагают обучение системы.
2. Основа базы знаний — совокупность образцов в рамках классифицирующих признаков.
3. Предполагают наличие избыточных конкурирующих вычислений до достижения одним из потоков заданного порога достоверности.
4. Результатом вычисления являются как правило какие-либо прецеденты из заранее установленного списка.

Само же обучение характеризуется следующими основными чертами:
1. Наличие априорных знаний, заданных в виде классифицирующих моделей
2. Наличие базы образцов для построения «модели мира» по классифицирующим признакам.

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

Нейронные сети
Согласно Википедии, да простится ссылка на нее, нейронные сети «представляют собой систему соединённых и взаимодействующих между собой простых процессоров (искусственных нейронов)». Красиво. Существуют различные варианты реализации такие как байесовские сети[1], рекуррентные сети[2] и т.д… Основная модель работы: база образов-передаточная функция-оптимизатор.

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

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

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

В какой-то степени, работу нейронной сети можно сопоставить с работой безусловных рефлексов живых существ[3] со всеми вытекающими недостатками.

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

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

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

1. Наличие самого факта появления нового профиля и его осмысления (что это не шум) и необходимость стороннему эксперту определить соответствие профиля результату.[1]
2. Отсутствие простого и надежного математического аппарата, четко описывающего условия и правила порождения новых измерений, а, следовательно, и классов объектов.
3. Сама по себе процедура трассировки – это процесс обобщения, поиска новых трасс-маршрутов, пусть и с необходимостью контроля однозначности соответствия профилей и результатов.

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

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

Существует масса работ таких авторов как Панченко Т.В[4]., Гладкова Л. А., Курейчика В. В[5] и т.д… Основы «генетического подхода» хорошо раскрыты здесь.

Существует множество интересных работ, посвященных применению генетических алгоритмов. Например, работа Плешакова И.Ю., Чуприной С.И.[6], статья Иванова В.К. и Манкина П.И.[7], статьи на хабре и ряд других.

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

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

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

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

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

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

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

Выводы
Рождение современной математики, конечно же, процесс долгий, затянувшийся на века. Но, наблюдая современные тенденции, напрашивается неутешительный вывод: все движется по кругу. Философы древней Греции не знали математики и математических формул, оперировали понятиями на уровне образов и «бытовых» понятий. Этого становилось недостаточно для организации более сложных и, самое главное, абстрактных рассуждений. Кроме того, одной из основных задач математики является поиск логик, позволяющих значительно снизить затраты на расчеты путем вывода компактных и оптимальных закономерностей. Все это послужило толчком для создания сегодняшней математики с ее современными нотациями. Начало же просматривается не ранее XVI века целым рядом ученых таких как Декарт, Лейбниц и т.д.

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

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

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

Все вышесказанное не является утверждением бесперспективности нейронных сетей или аналогичных технологий. Объем задач и их ценность огромны. Это и помощь в распознавании образов и помощь специалистам в разных областях при анализе данных и незначительных на первый взгляд деталей. Хорошим примером такого применения является помощь ИИ в установке диагнозов.

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

[1] Байесовская сеть (или байесова сеть, байесовская сеть доверия, англ. Bayesian network, belief network) — графическая вероятностная модель, представляющая собой множество переменных и их вероятностных зависимостей по Байесу. Например, байесовская сеть может быть использована для вычисления вероятности того, чем болен пациент по наличию или отсутствию ряда симптомов, основываясь на данных о зависимости между симптомами и болезнями. Математический аппарат байесовых сетей создан американским учёным Джудой Перлом, лауреатом Премии Тьюринга (2011).

[2] Рекуррентные нейронные сети (англ. Recurrent neural network; RNN) — вид нейронных сетей, в которых имеется обратная связь. При этом под обратной связью подразумевается связь от логически более удалённого элемента к менее удалённому. Наличие обратных связей позволяет запоминать и воспроизводить целые последовательности реакций на один стимул. С точки зрения программирования в таких сетях появляется аналог циклического выполнения, а с точки зрения систем — такая сеть эквивалентна конечному автомату. Такие особенности потенциально предоставляют множество возможностей для моделирования биологических нейронных сетей[источник?]. Однако большинство возможностей на данный момент плохо изучены в связи с возможностью построения разнообразных архитектур и сложностью их анализа.

[3] Барский А.Б. «Логические нейронные сети» М.: Интернет-Университет Информационных Технологий, 2007

[4] Панченко, Т. В. Генетические алгоритмы [Текст]: учебно-методическое пособие / под ред. Ю. Ю. Тарасевича. — Астрахань: Издательскии дом «Астраханскии университет», 2007.

[5] Гладков Л. А., Курейчик В. В., Курейчик В. М. Генетические алгоритмы: Учебное пособие. — 2-е изд. — М: Физматлит, 2006. — С. 320. — ISBN 5-9221-0510-8.

[6] Плешакова И.Ю., Чуприна С.И. «Генетический алгоритм для улучшения качества семантического поиска по текстам научных публикаций» cyberleninka.ru/article/n/geneticheskiy-algoritm-dlya-uluchsheniya-kachestva-semanticheskogo-poiska-po-tekstam-nauchnyh-publikatsiy

[7] Иванов В.К. и Манкин П.И. «Реализация генетического алгоритма для эффективного документального тематического поиска» Тверскоигосударственныитехническии
Поделиться с друзьями
-->

Комментарии (28)


  1. Kladproraba
    03.02.2017 17:21
    -2

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


    1. MaximKovalev
      03.02.2017 17:24
      +2

      Согласен со всем вышеперечисленным. Что касается Греции, то я нисколько не хотел умалить их вклад. Он огромен. Я хотел подчеркнуть ту мысль, что мы сегодня, пусть и в публичной сфере, в области ИИ на той же стадии. Есть логика, есть инновации, но нет достойного мат. аппарата. Нет качественного перехода. По крайней мере, мне не разу не попадалось опровержение моей гипотезы. Если есть такое — с удовольствием ознакомлюсь. И внесу корректировки.


    1. YNechaev
      03.02.2017 19:49
      +2

      "Многие разработки засекречены" — вздор, люди, которые занимаются нейросетями в разных предметных областях, известны пофамильно и их работы можно найти на Google Scholar и arXiv.org. Весь софт сейчас тоже доступен. Все кто "засекречивают" свои разработки на практике отстают от state-of-the-art в лучшем случае на пару лет.


  1. Grialls
    03.02.2017 21:52

    Что то не очень хорошо этот форум ранжируется :(


  1. MaximKovalev
    04.02.2017 10:40

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


    1. qw1
      04.02.2017 13:06

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


      1. MaximKovalev
        04.02.2017 13:41

        Да, сложность растет. Но это экстенсивный рост. Ранжирующая формула Яндекса при всей своей громоздкости — не является экземпляром индуктивной логики. Это экстенсивное усложнение латентно-семантического или похожего анализа, байесовских и прочих похожих логик. Т.е. это все равно дедуктивные логики.

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


        1. MaximKovalev
          04.02.2017 13:53

          А если конкретнее, то Лем «Осмотр на месте».


    1. alexeykuzmin0
      06.02.2017 13:13
      +3

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

      1. Нейронные сети
      2. Генетические алгоритмы
      3. Методы вероятностного программирования и т.д.

      Возможно, что кому-то покажется, что здесь «в одну кучу» свалены совершенно различные технологии.
      Честно говоря, мне кажется именно так. Пройдемся по вашим общим чертам:
      1. Предполагают обучение системы.
      Генетический алгоритм (кстати, почему вы его все время называете во множественном числе?) — это алгоритм безусловной оптимизации нулевого порядка, логичное обобщение метода стохастического покоординатного спуска. Если я решаю задачу «x^2 + y^2 -> min», тут не предполагается никакой системы, которую можно обучать. Да, при решении задач машинного обучения используются алгоритмы оптимизации, но никто в здравом уме не будет обучать хоть сколько-нибудь гибкую модель генетическим алгоритмом. И даже если вы именно это имели в виду, это далеко не самое частое его применение. То же самое с вероятностным программированием: оно позволяет манипулировать распределениями вероятностей для каких-либо расчетов, наверняка это очень удобно, например, при моделировании квантовых эффектов. При чем тут обучение и что тут обучается — не очень понятно. Да, очень многие модели машинного обучения по своей сути вероятностны, и, наверное, их будет удобно реализовать в рамках вероятностной парадигмы программирования, но зачем ограничивать эту парадигму только этим применением?
      2. Основа базы знаний — совокупность образцов в рамках классифицирующих признаков.
      Вы говорите об обучении с учителем или без учителя? Стоило бы отметить, что верные ответы для объектов обучающей выборки тоже могут быть известны (а могут и не быть). А еще есть алгоритмы машинного обучения (широко применимые), работающие без признаков или с признаками, принадлежащими совсем другому пространству посредством ядерных функций. Ну и, опять же, к генетическому алгоритму и вероятностному программированию пункт неприменим. Ну и лучше использовать распространенную терминологию, чтобы читатель вас понял («обучающая выборка»).
      3. Предполагают наличие избыточных конкурирующих вычислений до достижения одним из потоков заданного порога достоверности.
      Вы имеете в виду, что в генетическом алгоритме все точки, кроме ответа, не используются после завершения работы алгоритма? Так это очевидно и так работают все алгоритмы оптимизации, ибо мы не можем взять и угадать экстремум на первой же итерации. Вообще, из этой фразы складывается впечатление, что обучаем столько нейросетей, сколько у нас ядер доступно, а потом оставляем только лучшую, но так никто не делает. Надеюсь, вы поясните этот пункт.
      4. Результатом вычисления являются как правило какие-либо прецеденты из заранее установленного списка.
      «прецеденты из заранее установленного списка» — это объекты обучающей выборки, что ли? Это неверно. Если же вы лишь имели в виду, что у алгоритма есть какая-то заранее известная область значений, то это у любого алгоритма так, зачем об этом писать?

      Вывод по этим пунктам: лишь части пунктов, и лишь в некотором смысле удовлетворяет ИНС, остальные алгоритмы не удовлетворяют ни одному пункту. Кроме того, это алгоритмы из совершенно разных областей, и непонятно, почему были взяты именно они.
      1. ИНС — один из алгоритмов машинного обучения. Почему вы объединяете его с чем-то сильно непохожим, игнорируя другие алгоритмы (логистическая регрессия, обобщением которой является ИНС, или тот же MatrixNet, который вы цитируете в начале статьи («формулу ранжирования пишет машина») — это, вообще-то, градиентный бустинг решающих деревьев)?
      2. Генетический алгоритм — это метод оптимизации. Почему вы выбрали именно его, а не, скажем, отжиг? Никто в здравом уме не будет обучать модель машинного обучения генетическим алгоритмом, в отличие от, скажем, стохастического градиентного метода, метода сопряженных градиентов, BFGS, не логичнее ли в контексте машинного обучения сказать пару слов об этих методах?
      3. При чем тут вероятностное программирование, вообще непонятно, ведь это парадигма разработки ПО, такая же, как объектно-ориентированное, функциональное, логическое или квантовое программирование.

      Про «выводы» сразу после определений и без какого-то тела статьи тут уже высказались.

      Далее, мне не видна аналогия с древней Грецией. Мы уже умеем решать задачи формальными математическими методами — для того, чтобы написать «A+B» или решить любую олимпиадную задачу, нам не нужно машинное обучение. Более того, оно будет лишь вредно в такой задаче, ибо даст приближенный (а иногда и совсем неверный) ответ. Но, увы, далеко не все задачи в нашем мире имеют строгое формальное решение, и даже там, где решение есть, оно может работать очень долго или требовать информации, которой у нас нет. В этом случае можно получить приближенный ответ с помощью машинного обучения, и это будет лучше, чем ничего. Мое мнение: машинное обучение — последнее средство, если задачу можно решить иначе, она должна быть решена иначе. Так что машинное обучение едва ли в будущем позволит получить математически доказанный верный ответ, оно просто для других задач.

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


      1. MaximKovalev
        06.02.2017 14:45
        +1

        Большое спасибо за комментарий!
        Готов согласится с частью замечаний и с тем, что статья нуждается в доработке, я уже писал об этом в предыдущих комментариях. Слог тоже оказался слишком тяжеловат. Соглашусь с тем, что слишком сильно урезал статью.
        Что касается замечаний по сути:
        1.Генетические алгоритмы во множественном числе потому, что реализаций несколько. Хотя можно и в единственном. Не принципиально.
        2.Что касается «обучения» ГА — тут я бы не сказал, что все так однозначно. Как я писал в статье — выбор целевой функции как раз и может выступать в качестве объекта обучения. Например, при использовании ГА для распознавания текста. Что касается вопроса: «Да, очень многие модели машинного обучения по своей сути вероятностны, и, наверное, их будет удобно реализовать в рамках вероятностной парадигмы программирования, но зачем ограничивать эту парадигму только этим применением?» — я не ограничивал, я анализировал применение этих алгоритмов именно в раках задач ИИ. Я ни в коем разе, не посягал на другие области, где они являются достаточно привлекательными.
        3.Я намеренно использовал термин «база знаний», а не «обучающая выборка». Тем самым я хотел подчеркнуть факт априорности знаний, их внешний характер. Кроме того, желательно, что бы «обучающая выборка» была заранее проклассифицирована по n-измерениям, которые необходимо заранее сформировать экспертами в предметной области. Что касается замечания про "… алгоритмы… работающие без признаков", то область их применения весьма ограничена. Я же старался рассматривать более общий случай. Таким образом, мне показалось, что термин «обучающая выборка» недостаточно точен. Мы имеем дело именно с базой, обладающей внутренними связями. Хотя соглашусь — на будущее буду давать пояснения.
        4. Я не вижу смысла в рамках статьи разделять «обучение с учителем» и «обучение без учителя». На мой взгляд, реального обучения без учителя не существует. Под этим термином следует понимать не более чем задачи аппроксимации/кластеризации.
        5.Что касается «избыточных конкурирующих вычислений», то я ни в коей мере не имел ввиду «обучаем столько нейросетей, сколько у нас ядер доступно». Не понимаю почему Вы так решили. Я имел ввиду, что сам по себе вероятностный подход не оптимален с точки зрения использования ресурсов. И согласитесь, что параллельная проверка множества гипотез не в задачах обучения, а в задачах распознавания — довольно распространенное явление.
        6."«прецеденты из заранее установленного списка» — это объекты обучающей выборки, что ли? Это неверно." Вот тут не соглашусь. Каким образом «родится» новый объект? Собственно, одна из целей статьи показать, что как раз этого и не происходит. ИИ может диагностировать болезнь и методами аппроксимации выявить новые закономерности. Но она не в состоянии «открыть» и проклассифицировать новую болезнь или хотя бы букву алфавита.
        7.Что касается греков. Аналоги с греками была о другом. Аналогия в том, что сегодняшнее состояние дел в области ИИ похоже на состояние дел с математикой в Древней Греции. Существующий мат. аппарат громоздок, но примитивен. Причина примитивности, по моему частному мнению, как раз в том что не определены и не сформированы сими базовые понятия о том что такое «объект», «похожесть», «качество», «предложение», «образ» и т.д. с точки зрения философии логики и математической теории. Статья именно об этом.
        8.«Модные понятия» взяты осознанно и об этом прямо написано в самом начале статьи. Это и не скрывается, а наооборот — подчеркивается. Взято это для наглядности. Не соглашусь с всеобъемлемостью утверждения:«При этом игнорируется общепринятая терминология». Хотя в отдельных моментах — признаю факт того, что необходимо более тщательно раскрывать мысль.
        9.Очень жаль, что Вам увиделись философствования «на пустом месте». Впрочем этот упрек полностью принимаю на свой счет. Раз есть такое мнение, значит тема мной раскрыта недостаточно ясно. Буду работать над ошибками.

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


        1. alexeykuzmin0
          06.02.2017 16:46

          Большое спасибо за эти уточнения. После прочтения комментария пришлось читать статью заново, поскольку ее смысл для меня полностью поменялся. Думаю, многие из проголосовавших отрицательно сейчас бы поставили плюс.
          5. Ну так вроде нам все равно эти все гипотезы придется проверить, так что они не избыточны? Допускаю, что мы с вами имели дело с несколько разными областями или способами приложения машинного обучения, если сможете рассказать подробнее, что вы имеете в виду, буду премного благодарен.
          6. Если я решаю задачу восстановления регрессии, каждый новый ответ будет, скорее всего, отличаться от всех предыдущих, просто потому, что он вещественнозначный. С классификацией новой болезни средствами машинного обучения тоже не вижу каких-то принципиальных проблем: при обучении добавляем в выборку не только описания объектов с метками болезней, но и белый шум с меткой «неизвестная болезнь». По мере накопления объектов, классифицированных как шум, кластеризуем их, все достаточно большие и легко отделимые кластеры объявляем новыми классами, присваиваем им метки и обучаем нашу классифицирующую сеть заново. Если подумать над задачей больше 5 минут, думаю, можно и получше идею придумать. Конечно, это все будет выдавать худшее качество, чем если бы работал человек.
          7. Не согласен с отсутствием формальных определений: например, Воронцов в своих лекциях многие из них вводит: http://www.machinelearning.ru/wiki/images/6/6d/Voron-ML-1.pdf (стр 4-6 и далее). Вы имеете в виду, что с этими определениями что-то не так?
          8. Да, теперь понятно, зачем нужны именно эти «модные понятия» и видно, что они применены верно. Да и с игнорированием терминологии я явно погорячился, учитывая, что в некоторых местах (та же «база знаний») вы имели в виду не то, что я думал. Приношу извинения.
          9. Ну и, с учетом этого комментария, философствования теперь уже совсем не на пустом месте =)


          1. MaximKovalev
            06.02.2017 17:22

            Да, все верно. Не только Вы, но и другие вне хабра, также посетовали на недостаточную ясность изложения. Думаю как с этим справится, но при этом не впасть в «умствования».
            5.Вот это тот вопрос, который мне совсем не удалось раскрыть. Я попробую раскрыть это в новой статье. Пока попробую объяснить пусть и криво пока: Если абстрагироваться от ИИ и оперировать «бытовыми понятиями», то есть две всем известные противопроложности. Метод «проб и ошибок» и «чистой логики абстрактных выводов». Определения сырые. И на мой взгляд ИИ может стать ИИ в «нормальном человеческом понимании», когда удасться реализовать «порождающую» логику, способную раздвигать границы известного системе мира. И оперировать именно логическими выводами на уровне абстракций. Сегодня же перебор гипотиз — неизбежность. А должна быть именно проверка гипотезы, сформированной логикой. Хотя не везде и большой класс задач, которые я б назвал «Павловскими задачами» (по аналогии с инстинктами, рефлексами — «тигр — бежать» ) не требуют такой логики. Решаются они уже сейчас в той или иной форме. Например, распознавание образов. Мало того, такая логика там будет только мешать. Следующую статью я хочу посвятить именно этому аспекту с учетом полученных ошибок.
            6.Все верно. Но верно на уровне «человеческой логики». Вопрос как раз в том — как эти метки ставить? И как выделить тот факт, что вот тут есть подозрение на новый объект, а тут только на свойство, а тут шум? Кластеризация только частично отвечает на этот вопрос, она дает скорее «сырье» для выводов. А вот есть ли математика способная это сделать? Как учесть, но не «тупо» аппроксимировать регрессионные колебания? У меня пока нет ответа. Я то ладно. Но, судя по всему, нет даже у таких корифеев как Хинтон, который (поправьте меня если ошибаюсь) не ушел дальше экспериментов с векторами.
            7.Да, я думаю что с определениями много что «не так». И в этом одна из базовых проблем. Если нет базовой аксиоматики — то нет и науки.
            8.Повторюсь, моя вина.
            9.Спсибо.


            1. alexeykuzmin0
              06.02.2017 18:35

              То есть, я правильно вас понял, что вы предлагаете считать ИИ только систему, способную на проведение самостоятельных научных исследований? (не обязательно любую такую систему)


              1. MaximKovalev
                06.02.2017 19:21

                Не думаю. ИИ — это термин, который определяет уже даже не класс задач, а отрасль знаний. Я думаю надо вводить классификацию задач ИИ. Определится с целями и т.д…
                Например:
                1.Низкоуровневые «задачи Павлова» (распознавание образов и т.д.)
                2.Поисковые задачи дедуктивного анализа, связанные с ограниченным выбором — например, «задачи автопилота»
                3.Задачи классификационные (рождение новых измерений, умение формировать предметную область т.д.) Каталогизация текста, выявление новых болезней. Тут все же не 4.
                4.«Задачи абстрактной логики» или индуктивные. Это прежде всего задачи прогнозирования.


          1. MaximKovalev
            06.02.2017 17:31

            10. Отдельная этическая тема — а нужно ли все это? К сожалению, не могу найти упоминание о 23 пунктах, подписанных известными людьми о применимости ИИ. Недавно совсем. Среди подписавших Маск и, что хуже, Хокинг. Очень неоднозначный биль.


            1. alexeykuzmin0
              06.02.2017 19:03

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


              1. MaximKovalev
                06.02.2017 19:12

                Совершенно согласен.


          1. MaximKovalev
            06.02.2017 17:37

            Нашел, но надо проверить насколько это соответствует действительности. И если это так, то стоит отдельной статьи. https://tproger.ru/articles/hawking-musk-endorsed-23-ai-principles/


  1. akhmelev
    04.02.2017 23:14
    +3

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

    То что ИНС — просто неплохой многомерный аппроксиматор/классификатор — это известно почти всем.
    То что ИНС и/или ГА не ИИ известно вообще всем.
    То, что мы думаем используя НС (вернее даже сеть сетей) тоже известно всем.
    То что ИНС != НС человека тоже известно всем.
    Поэтому непонятно, что сказать-то вообще хотели?

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

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

    Я что-то не понял? Или это она (астрология) и есть?
    disclaimer Я правда не понял. Буду благодарен за пояснения.


    1. MaximKovalev
      05.02.2017 12:43
      +1

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

      Ввиду необходимости избежать излишней «научности» и «раздутости» мне пришлось убрать большую часть выводов. Тут вы тоже правы.

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

      Кроме того, я хотел выразить мысль, что в не зависимости от того, что выбрано ИИ, ГА и т.д. тем, кто будет размышлять на тему ИИ следует (по моему частному мнению) озадачится анализом отличия/наличия дедуктивной и индуктивной логики предлагаемого мат аппарата!

      Что касается дискусси, мне бы хотелось услышать мнения: возможно ли в рамках сегодняшнего мат аппарата путем его усложнения, например построения «сетей сетей» из тех же машин Больцмана построить ИИ или это принципиально не возможно. Возможно, кто-то сталкивался с какой то перспективной математикой, которую я упустил.

      P.S. ИНС — в общем-то и как классификатор не очень работает. К сожалению, это только аппроксиматор.


  1. Agas
    05.02.2017 12:45

    akhmelev плюсовать не могу, но +++!


  1. RegisterWindowClassExA
    05.02.2017 13:46
    +1

    Очень интересная статья. Я прям даже осознал, зачем философию на кандидатский минимум сдавать надо.


    1. MaximKovalev
      05.02.2017 13:47
      +1

      Собственно, говоря так и есть.


  1. zabavinv
    06.02.2017 17:23

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


  1. antklen
    07.02.2017 13:33

    Существуют различные варианты реализации такие как байесовские сети[1], рекуррентные сети[2]

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


  1. MaximKovalev
    07.02.2017 13:34

    Это скорее исторический экскурс. Конечно, их вот прям так никто в живую не использует.


  1. worldmind
    07.02.2017 14:01

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


  1. beTrue
    10.02.2017 13:59

    Статья — вода, без вкуса, цвета, запаха.
    Только Алекс норм пишет\стримит про ИИ, а это — так, х… какая-то.