Резюме проблемы «двух и более учителей» и субъективное мнение о ИИ-сообществе

    Пока я тут излагал мысль она несколько растеклась по статьям

    1. Модель функционального разделения сознания и бессознательного. Введение
    2. Модель проявления сознания или ИНС без эффекта забывания
    3. Проблема «двух и более учителей». Первые штрихи
    4. Обучение с подкреплением на нейронных сетях. Теория

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

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



    Субъективное мнение о ИИ-сообществе



    Начнем с этого. Многим это не понравится, но попробуйте трезво это оценить сами.

    Как и в любой науке ИИ уже обросло полноценной инфраструктурой :). И вот как это выглядит:

    1. У подножья пирамиды ИИ сидят оракулы — это те люди которые громогласно заявляют мы занимаемся «сильным ИИ», «слабый ИИ» — нас не интересует. Это фрики — как минимум те, которых я встречал все были именно фриками. Это креационисты 21 века, они берут на вооружение логику и пытаются построить фиктивные теории. Не больше не меньше. Если Вы молодой человек который еще в этом не повяз — выбирайтесь из этого болота, оно засасывает хорошие умные головы. По началу даже не разговаривайте с такими людьми — они питаются вашей энергией, как и религиозные секты.
    2. На ступеньках к пирамиде ИИ расположились инженеры. Они не гнушаются заниматься «слабым ИИ», часто это их хлеб. Еще в институте они выбирают себе очень узкое направление — распознавание номеров машин, обработка изображений, предсказание на бирже, управление роботами и т.д. и т.д. Часто они имеют звания доктора наук, и чуть реже имеют звание профессоров. Если Вы молодой человек, который попал на работу к таким инженерам, или слушаете их лекцию — впитывайте основы, иначе Вы непременно затем скатитесь к подножью. Но впитав основы — не увлекайтесь. Не становитесь студентом, который знает только терминологию — выражайте свои мысли естественно. Попробуйте сделать что-то сами, никогда не судите о алгоритме, подходе только на основании того, что вам сказал такой инженер. Очень часто оказывается, что он просто начитался книг и судит по ним (да, я знал хороших ИИ-профессоров, которые в этом признавались, что делало им только больше чести ). Если Вы ему поверите в том, чем он непосредственно сам не занимается, то не проверив по оригиналам — через пару лет уже вы будете передавать это знание с чужих слов. В итоге вы будите ошибаться чуть более чем совсем. Конечно, проверять по оригиналам и пробовать воспроизвести эксперименты авторов методов — это трудоемко. Но иначе у вас со временем создаться поверьте ложное впечатление, что вы что-то понимаете в соседних областях. И Вы превратитесь уже не просто в нахального студента, знающего лишь терминологию, но человека с авторитетом, потому что занимались частной (ее вы с гордостью будите называть конкретной и с конкретными результатами) задачей, но при этом будите распространять заведомо неточные впечатления о том, что не пробовали экспериментально.
    3. На ступеньках в тени, немного удаляясь от зноя присели нейрофизиологи-инженеры, они так утомились выполняя свою работу с пациентами, что думать еще о том, что на другой стороне, кричат ИИ-инженеры — уже не вмоготу. Они тихонько берут и делают в своих экспериментах, то что можно разобрать в отдаленном гуле перебранки ИИ-инженеров. Кое что у них выходит, что то нет… но как правило они не поспевают за мыслью ИИ-инженеров. Но благодаря тому, что они реально воплощают это в человеко-машинный интерфейс — это всегда выглядит эффектно.
    4. Но вот вопрос — кто же расположился в беседке на вершине пирамиды? Как не странно — она пуста, нет вход свободен, просто никто туда не идет. Иногда лишь бегающие инженеры в пылу драки туда влетают, и также быстро уходят. Это место для ИИ-теоретиков. Инженеры часто не отличают где низ, а где вверх — поэтому они путают теоретика с оракулом. Но так устроен мозг ИИ-инженера, он видя теоретические обобщения не видит конкретную задачу и не понимает а фурычит ли это. Он не видит леса за деревьями, а видя солнце он принимает это за откровение оракула — и думает, тьфу ты — зачем мне к солнцу подниматься, чтобы делать что-то не конкретное. Так он и не поднимается над деревьями, боясь опалиться о солнце. А те кто опалился — он видит — пресмыкается у него под ногами, на подступах к пирамиде. Но конечно, если он учился со слов современника — он и не знает, что те кто создал представление о нейронных сетях, генетических алгоритмах, нечеткой логике и много чего еще… все же бывал в этой беседке на вершине пирамиды, просто об этом не очень принято говорить.

    Работа теоретика трудна и не благодарна



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

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

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

    Вот мы и рассмотрим одну такую вырожденную задачу.

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


    Вначале мне придется снять «розовые очки» с тех кто их одел. Поговорим о способности ИНС к прогнозированию и скорости их обучения. Все в соответствии с Минским — прогнозируют плохо и медленно. И хотя я буду показывать на перцептроне Розенблатта, разницы для других сетей принципиальной нет.

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

    Задача.

    Мы возьмем простую функцию c= a+b, где a и b целые числа от 1 до 64, а c целое число от 1 до 256 (чуть большая размерность нам понадобится потом).

    Тогда мы будем иметь 16 входов и 256 выходов в перцептроне. Т.е. на вход будем подавать 2 байта представляя в двоичном виде числа a и b. А чтобы перцептрон немного лучше работал выход будем трактовать как какой номер выхода, такое и число. Чтобы избавится от неоднозначности выхода — работаем по принципу «выигравший забирает все», т.е. учитываем только тот выход который наиболее активен.

    Представление о точности прогноза нейронной сети

    Если мы обучим перцептрон на всем указанном пространстве входов выходов, то он безошибочно научится складывать. Чтобы это нам графически отобразить нарисуем «красный квадрат» :) где начиная с левого верхнего угла по оси Х отложим число a, по оси Y b, а сумму c на пересечении отобразим точкой, причем в градации красного. Получим следующие:


    Но когда всё известно нет места для прогноза. Поэтому давайте уберем каждую вторую точку:



    А теперь возьмите любой графический редактор и дополните недостающие точки. Сможете ли Вы восстановить «красный квадрат». Думаю это под силу только одному человеку — да, да Малевичу :)

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



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

    Функция пригодности

    Это вообще-то легко. Выше используемая нами функция c= a+b вполне может отражать пригодность для какого-то процесса. (В экономике любят говорить о функции полезности, у них там все что не полезно, на то не надо тратить деньги :), или же еще говорят о оценочной функции — это тоже любители приценится :) Ну, а для естественных процессов мы не прицениваемся — мы судим о пригодности подходящих условий для наших действий). Ну, пусть мы нагреваем воду в чайнике двумя источниками, отдельно от которых идут датчики температуры каждого источника. Нам нужно определить когда вода закипит.

    по сути мы эту задачу решили выше. Выше мы обучили перцептрон осуществлять функцию пригодности c= a+b. Осталось лишь красиво отобразить температуру выше 100 градусов, давайте это сделаем в градации зеленного вот что получим.



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

    Теперь Вы уже просто не могли не понять как задать функцию пригодности на искусственной нейронной сети ;)

    Почему удобно задавать функцию пригодности именно с помощью искусственной нейронной сети?

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

    Проблема с математической формулой лишь одна — она жесткая и бескомпромиссная.

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



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

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



    Проблема «двух и более учителей» в разрезе


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

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



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

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

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

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

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

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

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

    И вот оно хлоп — и сеть нашла причину расхождения, сразу завертелась работа сети и она построила полную раскладку в зависимости от еще одного найденного фактора, закономерность стала более сложной, чем у профессоров, но дающая поразительно точные данные (правда, пока какой-нибудь третий профессор не получит противоречие)… эту закономерность конечно еще надо как то выбрать из сети и записать аналитически, но тут надо будет обратится вон к тому парню, который разлегся на рядом стоящей скамейке в беседке… ан нет, это оказался сон, наш недоучка-герой задремал пока сеть исправно крутилась, и он пошел пить пиво, размышляя о будущем Вселенной.
    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 131

      0
      Спасибо, что продолжаете писать. Я не знаю, не сколько верны ваши статьи, ибо не имею понятия об ИИ, но кроме вас никто больше ничего столь же интересного и легкодоступного тут не пишет. Продолжайте в том же духе, очень интересно
        0
        *на сколько
          0
          Спасибо за ваши слова, они мне важны.
            +1
            Ваша фраза «не знаю, насколько верно, но интересно и легкодоступно» очень точно описывает среднестатистическое отношение к среднестатистической статье tac от человека, который не понимает в предмете (те, кто в предмете понимают, относятся к ним существенно иначе, но это мелочи).

            А еще она (фраза) внутренне противоречива, но это же тоже мелочи?
              +1
              Я к тому что это не та тема, ради которой я буду штудировать кучу учебников и научных статей с горой неясных мне терминов, это не моя специальность. Мне просто интересно узнать побольше об ИИ и его конкретных реализациях, что бы понять, стоит ли копать глубже в этой теме. Эта серия статей полностью подходит для меня — все что в ней описано работает так, как я этого и ожидаю, легка для чтения и для понимания. Насколько в этой серии все верно с точки зрения теории, я не знаю, да, но эти статьи дают мне какое то понимание, как это все работает. И меня это устраивает.

              И другой немаловажный фактор — пока кроме этой серии на хабре нет ничего, столь же простого и понятного.
                +1
                Вас не смущает тот факт, что «легкое для понимания» знание, которое вы получаете из этой статьи, может быть неверным?
                  0
                  Безусловно, может быть, но на верные, правильные статьи я просто не готов тратить столько своего времени. В представлении tac есть неточности и ошибки? Ок, хорошо, если мне в общем тема понравится — пойду копать глубже, читать научные статьи и учебники, и там уже пойму, где tac не прав. Если же мне даже в таком изложении будут неинтересен ИИ — то какая (для меня лично) разница, правильно ли тут все написано.

                  Я не говорил что в этих статьях все верно и этому надо верить полностью, я говорю о том, что у них порог вхождения ниже. Если появятся на хабре еще статьи про ИИ, написанные столь же простым языком — я буду только за. Пока же их, к сожалению, я не видел.
                    +1
                    Мне сложно понять ваш подход. Для меня любые выводы, построенные на неверных посылках (в том числе выводы об интересности) — неверны.
                      0
                      Я то не в курсе, что посылы неверны, по причинам, объясненным ранее. И все это я хочу аккуратно подвести к предложению вам написать статью про ИИ. Не чтобы помериться письками с tac'ом, а чтобы рассказать таким, как я, что мы поняли неверно.
                        0
                        А вот тут есть нюанс, состоящий в том, что в ИИ я не разбираюсь.

                        Однако я смею надеяться, что разбираюсь в проектировании информационных систем вообще, ООП в частности. И вот тут я неоднократно ловил tac на ошибках (и писал о них комментарии). А зачем писать длинную статью, например, о приснопамятном паттерне Bridge (или о применимости функционального подхода), если об этом только ленивый уже не написал?
                          0
                          Тут мне нечего ответить, я говорил именно про ИИ, остальные статьи я не читал. Но мысль я вашу понял
                      –1
                      Какого вы слушаете? Человека который не разу ничего не сделал, и утверждает что у меня что-то не верно :) Пусть пойдет и сделает, и покажет что не так — а словесных излияний этого человека я наслушался… поэтому то он и ему подобные могут орудовать только плюсометом.
                        0
                        Ах, да… а если вы или кто-то еще захочет «копать глубже» — обращайтесь, чем смогу помогу.
                          0
                          Благодарю, я сейчас как раз думаю над построением одной системы (там пока все очень эфимерно, так что детали пока не буду говорить), в которой может быть мне потребуется глубокое понимание ИИ
                +3
                Но увы… последний опрос показал, что далеко не все программисты в курсе ИИ-проблематики.

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

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

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

                  Но ваши статьи всегда интересно прочитать, не ради практических целей, а скорее как академический интерес о прогрессе в области, хотя объективно оцениваю свои знания как не какие, на уровне «понимаю терминологию».
                    0
                    Спасибо.
                    +2
                    Вы совсем двинулись на своём персептроне Розенблатта. У нормального однослойного персептрона (мёртвого уже лет 40) есть такая удивительная деталь, как сумматор. Для решения вашей задачи не нужно ничего, кроме него. Заполните матрицу весов единицами, и ошибок будет ровно ноль.

                    Вас кто-то очень обидел в «ИИ сообществе»?
                      +2
                      Пруф.

                      Писать персептрон мне тоскливо, я даже своих студентов освободил от такой археологии. Поэтому берём python, берём Neurolab (или MATLAB и Neual Network Toolbox, портом которого Neurolab и является) и призываем персептрон без скрытых слёв, с двумя входами, одним выходом и линейной функцией активации (мы же не хотим мешать сумматору):

                      import neurolab as nl
                      import numpy as np
                      import matplotlib.pyplot as pl
                      
                      net = nl.net.newff(minmax = [[0,64],[0,64]], size = [1], transf = [nl.trans.Purelin()])
                      


                      Проверим сначала моё предположение, и напрямую выставим нулевой сдвиг и единичные веса:
                      nl.tool.np_set(net, np.array([0,1,1])


                      Сформируем вход:
                      
                      m,n = range(64), range(64)
                      input = [[[a, b] for a in m] for b in n]
                      input = np.array(input).reshape(shape = (64*64, 2))
                      


                      Получили вход вида
                      ([[ 0, 0],
                      [ 1, 0],
                      [ 2, 0],
                      ...,
                      [61, 63],
                      [62, 63],
                      [63, 63]])
                      Тогда выход, соответственно,

                      c = np.sum(input, axes = 1)
                      

                      Протестируем сеть:

                      pl.matshow(net.sim(input).reshape(shape = (64,64)))

                      Инджой.

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

                      net = nl.net.newff(minmax = [[0,64],[0,64]], size = [1], transf = [nl.trans.Purelin()]) #reinitialize
                      net.train(input = input[::2], target = c[::2])
                      

                      Лог изменения ошибки:

                      [4.3691578041483729e+65,
                      1.563153950598895e+64,
                      5.6836071277516877e+62,
                      2.9769819329424415e+61,
                      1.0504650257071223e+61,
                      9.8143560445701035e+60,
                      9.7779400880300074e+60,
                      5.9248762109972475e+41,
                      5.8088683355000359e+39,
                      5.6453929138802899e+39,
                      8.7363656588584911e+19,
                      4.0091994306583206e+17,
                      3.443965887101271e+17,
                      0.014586921973431978,
                      0.0029031555951286657]

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

                      >>> nl.tool.np_get(net)
                      array([-0.00526347,  1.0000747 ,  1.00008568])
                      


                      Приводить результат сети графически смысла не вижу, визуально он неотличим от рисунка, приведённого выше. Думаю, хорошей проверкой может быть сравнение сумм «правильных» ответов и ответов, данных сетью:
                      >>> sum(c)
                      258048
                      >>> sum(net.sim(input))
                      258050.20745549328
                      


                      Отличие в 2.2 на четверть миллиона. Квадратичное отклонение одна десятимиллионная. Мне кажется, close enough.
                        –2
                        Вы как обычно, даже не поняли о чем в статье речь. Объяснять не буду — скучно с вами.
                          0
                          Вообще, никак, абсолютно неважно о чём вы пытаетесь говорить, если в первом же утверждении вы порете ерунду. В вашем примере нейросеть, обученная на каждой второй точке, да ещё зачем-то с колоссальной избыточностью, даёт точность дай бог 30% за пределами обучающей выборки, то есть пальцем в небо. Хотя должна давать ровно 100, что я и показал. Таким образом, при всех ваших умствованиях вы на практике не можете решить элементарнейшую до абсурдности задачу. Какая разница, о чём вы умствуете? Вы некомпетентны.
                          0
                          Впрочем, установите выход как и у меня в задаче — через точку, чтобы поверхность выглядела как шахматная доска, и тогда дайте результаты прогноза после обучения.
                            0
                            Я так и сделал, читайте внимательней.

                            На вход подаём только каждое второе значение, как завещали классики.


                            Вот это [::2] в коде как раз и означает каждую вторую точку:
                            <source = «Python»>
                            net.train(input = input[::2], target = c[::2])
                            0
                            И выложите полный код, что-то я не понимаю что вы делаете. Ну, и потом, мы о какой сети говорим? MLP+BackProp… проблема библиотек в том, что не видно что они делают…
                              0
                              В моём ответе приведён весь код с комментариями, не знаю, что здесь можно не понять. Если у вас конкретные вопросы, задайте их.

                              Это не многослойный персептрон, это однослойны персептрон, а фактически один(!) нейрон персептрона с двумя входами и одним выходом, обучаемый обобщённым правилом Уидроу-Хоффа, то есть
                              градиентным спуском.

                              Это можно сделать без библиотек, алгебраически выход этой сети эквивалентен F(w1*x1 + w2*x2 + b), где F в нашем случае линейная функция, x1,x2 — ваши входы, веса w1,w2, b надо обучить.
                              Не думал, что встречу человека, который не стесняется писать о нейросетях, и которому это надо объяснять.
                                0
                                Напишите это без библиотек — я утверждаю, что у вас это не получится. Один пороговый элемент не может решить эту задачу. А вы именно это утверждаете.
                                  0
                                  Это просто курам на смех. Вы утверждаете, что элемент w1*x1 + w2*x2 + b не может аппроксимировать функцию x1 + x2? На полном серьёзе?

                                  Это не в моих правилах, но я отчаялся довести эту дискуссию до конструктива. Я только надеюсь, что любому здравомыслящему наблюдателю после этого всё уже ясно.
                                    0
                                    Я утверждаю, что Вы не построите такую сеть с помощью обучения на указанном обучающем множестве, которая будет не аппроксимировать, а будет давать точный ответ с точностью до целых чисел.
                                      0
                                      Я построил.
                                        +1
                                        Я вас понял. Действительно выше я несколько читал по диагонали, думая что вы понимаете задачу поставленную мной. Но вы лишь нашли частное решение моей задачи. Т.е. нашли коэффициенты [-0.00526347, 1.0000747, 1.00008568] близкие к единице на архитектуре полностью повторяющей искомую функцию. Это противоречит собственно основав применения нейронных сетей. Это красиво для частных демонстраций, но речь то тут шла о другом.

                                        Сделайте тоже самое — задав входы-выходы именно так как описано в этой статье и введя скрытый слой.
                                          0
                                          «Да, вы отрезали мне кусок хлеба, но всего лишь ножом. А вот отрежьте мне его бензопилой!».

                                          Я-то отрежу, потому что в сколько-угодно-слойные персептроны будут всё равно входить нейроны, канонический вид которых я привёл. Проблема будет не в том, чтоб решить задачу, а в том, чтоб загасить все лишние элементы решателя, которые ему для этой задачи не нужны. Не очень перспективное занятие, на мой взгляд. Но несложное. Может, сразу скажете, как вы будете отмазываться тогда?
                                            0
                                            вы вначале сделайте, тогда поговорим
                                              0
                                              Вы как маленький. Если вам говорят, что что-то возможно, это обычно так и есть. Вот если говорят, что невозможно — да, обычно глупость.

                                              Я не поленился. MLP, 300 нейронов в скрытом слое, обратное распространение ошибки.
                                              Меня хватило на 500 эпох. Ошибка убывает убийственно медленно, и по хорошему надо ещё столько же. Но а) этот результат уже колоссально лучше вашего б) все мы знаем, какой у этой сети глобальный минимум и я не вижу ни одной причины, чтобы она его рано или поздно не достигла. А вы?

                                              Динамика ошибки:
                                              Epoch: 1; Error: 452711.998797;
                                              Epoch: 2; Error: 76372483.8623;
                                              Epoch: 3; Error: 8175804.78125;
                                              Epoch: 4; Error: 21976242.8711;
                                              Epoch: 5; Error: 4553489.62552;

                                              Epoch: 496; Error: 1774.94830712;
                                              Epoch: 497; Error: 1770.09887042;
                                              Epoch: 498; Error: 1765.39419996;
                                              Epoch: 499; Error: 1760.83450457;
                                              Epoch: 500; Error: 1755.34308093;

                                              График ошибки:



                                              График выхода:


                                              Расхождение сумм — без малого 37. Единица на десять тысяч.
                                                0
                                                Это уже серьезнее обсуждать. Можно начать.

                                                У вас по прежнему два входа и один выход? Вместо моих 16 входов и 256 выходов?
                                                  0
                                                  Да. Потому что вы зачем-то решаете это как задачу классификации, хотя это типичная задача аппроксимации функции. Вот такой.

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

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

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

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

                                                          Это вопрос интерпретации. Если ошибка строго ноль — то рисуем ответ конкретного примера. Соответственно, если ошибка от 0.5 до 1, то нужный ответ +1. Если от -0.5 до -1, то нужный ответ — 1… и т.д.

                                                          Вы же не можете нарисовать в RGB градацию 2+2=4.3 вам надо выбрать 4 или 5?

                                                          Так как вы выбираете? (тогда можно не говорить о «ошибке в знаке»)
                                                            +1
                                                            На втором графике слева есть шкала от -3 до +2. Видимо, это то, что вы и имеете ввиду.

                                                            Если выбирать ответ математическим округлением, то
                                                            на обучающей выборке
                                                            2012 правильных ответов из 2048
                                                            на тестовой выборке
                                                            2959 правильных ответов из 4096

                                                            Чтоб было веселее: тепловая карта ошибки
                                                              0
                                                              то что надо
                                                                0
                                                                Что-то у меня не складывается — где на этой тепловой карте ошибок 2012 правильных ответов? Я не вижу регулярности обучающей выборки?
                                                                  0
                                                                  Жёлтенькое — это правильные ответы. Это тестовая выборка. 2959 из 4096.
                                                                    0
                                                                    Можете нарисовать вашу тестовую выборку — она похоже не шахматная доска, а горизонтальные через одну линии?
                                                                      0
                                                                      Обучающая выборка — шахматная доска, тестовая — сплошная. Да, так ярко, как у вас, они не выделяются, и это нормально. У персептрона действительно хорошие аппроксимирующие свойства.
                                                                        0
                                                                        > 2012 правильных ответов из 2048

                                                                        Т.е. если я проведу на вашей тепловой карте шахматную доску, то я должен получить только 36 точек не совпадающих с желтым? Очевидно их больше…
                                                                          –1
                                                                          Нет, примерно (4096 — 2959)/2 = 568. Вы всё ещё не различаете, что такое обучающая выборка, а что такое тестовая?
                                                                            0
                                                                            > Нет, примерно (4096 — 2959)/2 = 568

                                                                            С какой стати? С чего бы перцептрону ошибаться «на экзамене» в той части тестовой выборки, которая совпадает с обучающей больше чем при обучении?
                                                                        0
                                                                        Вертикальные. Mea culpa. Это принципиально?
                                                                          0
                                                                          > Вертикальные.

                                                                          Не понял? Вертикальные линии — обучающая выборка?

                                                                          > Это принципиально?

                                                                          Нет, только для понимания происходящего.

                                                            0
                                                            > Потому что вы зачем-то решаете это как задачу классификации, хотя это типичная задача аппроксимации функции.

                                                            Это другая сторона вопроса, которую вы слабо улавливаете. С чего вы решили, что это задача «аппроксимации функции» а не «задача классификации»?

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

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

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

                                                                    ваш «физическом смысл» = мой «семантический выход»
                                                                      +1
                                                                      Кроме этого, чисто из опыта и логики, классификатору для чёткого различения классов нужно как минимум N^n примеров (где N — число классов, n — длина входного вектора). То есть в нашем случае 65к вместо 4к.

                                                                      Для задачи аппроксимации это в разы меньше, потому что аппроксимация по определению приближённая.
                                                                        –2
                                                                        tac

                                                                        //ваш «физическом смысл» = мой «семантический выход»//

                                                                        Ни то, ни другое не имеет однозначное толкование.
                                                                        И «смыслом» и «семантикой» наделяет текст человек.

                                                                    0
                                                                    На самом деле, граница между этими задачами в числе семантических выходов. Если семантический выход один — то вот и есть выигрыш на этоот MLP+BackProp… но все будет похоже хуже, если семантические выходов будет больше.

                                                                    А вот определить, чем существенно отличаются семантические выходы — будет посложнее, и это и даст более четкую границу.
                                                                      0
                                                                      Вы когда-нибудь слышали о нечёткой классификации?
                                                                        0
                                                                        При чем здесь нечёткая классификация?
                                                                          0
                                                                          При правильной архитектуре неважно, сколько классов, выход всё равно один — номер этого класса.
                                                                            0
                                                                            Т.е. Вы считаете, что задачу классификации можно свести к аппроксимации и это будет лучше?
                                                                              0
                                                                              Классификация математически эквивалентна аппроксимации, только аппроксимируемая функция принимает ограниченное число значений. На практике, опять-таки, это и есть аппроксимации, только с другими требованиями к точности и с другим видом функции (что важно в других методах, но для персептрона не очень).
                                                                              Нечёткая классификация окончательно уравнивает их, и по количеству необходимых данных, и по требованиям к точности.
                                                                                0
                                                                                Вот смотрите. Есть классическая задача — дано 60000 изображений 30х30 пикселей 10 рукописных цифр. Если Вы будите её решать как задачу аппроксимации у вас будет один выход как функция от изображения к возрастающему числу от 0 до 9. Вы думаете вы получите лучший прогноз?
                                                                                  +1
                                                                                  Сложно говорить «вообще» потому что разный подход порождает разную архитектуру. У сети с 10 выходами априори больше весов, то есть больше степеней свободы и это может оказаться критичным.

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

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

                                                                                      Когда же вы сделали один выход вы начали выполнять лишнею задачу — мало-то что «аппроксимировать один обобщенный входной образ на каждую цифру» вы еще будите совмещать 10 таких функций в одну, причем между ними нет ни какой связи.
                                                                                        +1
                                                                                        На самом деле, путей больше двух.
                                                                                        Ваш — самый архитектурно избыточный и самый, теоретически, устойчивый: один выход — один класс, победитель получает всё (не совсем понятное для бинарной сети правило, но допустим). Вполне возможно, что когда-нибудь он будет безошибочен, потому что сигналы можно разграничить очень чётко. Но обучаться до этого момента он будет примерно вечность (сколько там у вас весов? Несколько раз встречал рекомендацию о размере обучающей выборки — 100 наблюдений на каждый вес).

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

                                                                                        Третий — нечёткий. На выходе всего один суммирующий нейрон, сеть, по сути, должна найти одну функцию от 900 аргументов, которая давала бы только 10 разных значений. Математически доказано, что при достаточном количестве весов это всегда выполнимо на сужающей функии — будь то сигмоида, ещё лучше радиально-базисная, ещё лучше вейвлет… короче, их много.
                                                                                        Минусы — абсолютная точность почти недостижима, потому что везде float. Плюсы — при ошибке возникает не хаотичное перескакивание в другой класс, а отклонение, пропорциональное объективной разнице сигналов. Его можно интерпретировать, обрабатывать, компенсировать и т.д., а не просто выбрасывать.
                                                                                          0
                                                                                          Ну, теперь Вы наконец-то написали взвешенно. С третим вариантом я работал меньше, как раз потому, что мне всегда казалось, что «абсолютная точность почти недостижима» — и это принципиально. В то время как в первом и втором варианте достаточно быстро её можно получить (быстрее чем BackProp), но вот с прогнозом там как видим похуже… хорошо бы совместить эти качества…
                                                                                            0
                                                                                            Нет, не нужно. Всё, что можно было сделать с персептроном, сделали два поколения (человеческих) назад. Возьмите что-то более актуальное — спайк-сети, жидкие, инфекционные, имунные, роевые алгоритмы, да мало ли — и попробуйте придумать что-то новое на острие науки, а не на антресолях.
                                                                                            0
                                                                                            > Но обучаться до этого момента он будет примерно вечность (сколько там у вас весов?

                                                                                            Там 1000 внутренних нейронов, т.е. 256*1000 весов. Обучается на всем множестве 64х64 около 1-2 часа, и это без оптимизаций, потенциал сокращения времени за счет памяти достаточно большой.
                                                                                              0
                                                                                              Дело не в физическом времени, а в модельном, то есть в количестве примеров в обучающей выборке.

                                                                                              Если у вас полносвязная сеть с 16 входами, 1000 нейронами в скрытом слое и 256 выходами, то у вас 273256 весов. То есть до сходимости классификатора вам нужно вам нужно порядка 27 325 600 сигналов в обучающей выборке. Эти астрономические числа на практике вполне проканают за «вечность».
                                                                                                0
                                                                                                > нужно порядка 27 325 600 сигналов в обучающей выборке

                                                                                                Это глупости. В разобранном тут примере всего 2048 сигналов, и все сходится.
                                                                                                  0
                                                                                                  Сходится — это нулевая ошибка. Так что, как вы сами видели, совсем не сходится.
                                                                          0
                                                                          ererer
                                                                          //Персептроны любого толка, кстати, являются универсальными решателями, именно поэтому они вымерли: они всё решают одинаково плохо.//

                                                                          Это фундаментальное заключение.
                                                                            0
                                                                            Привет, этому заключению сорок лет.
                                                                    0
                                                                    > Динамика ошибки:

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

                                                                    И тоже самое на экзамене там 4096 вариантов — сколько из них ошибок?

                                                                      0
                                                                      Я уже привёл график. Если в цифрах, то
                                                                      На обучающей выборке
                                                                      отклонение < 0.0001: 1021 из 2048,
                                                                      отклонение < 0.01: 1931 из 2048
                                                                      На тестовой выборке
                                                                      отклонение < 0.0001: 1901 из 4096,
                                                                      отклонение < 0.01: 3853 из 4096

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

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

                                                                      В то время как Вы показали не более не менее, что на данной частной задаче перцептрон Розенблатта потенциально может уступать в каких то аспектах другой сети MLP+BackProp… за что вам отдельное спасибо. Но для более полного сравнения нужно говорить о ряде других характеристик… выше я попросил некоторые из них дать.
                                                                        –1
                                                                        То есть вы по крайней мере признали, что вы дурак в том, что выбрали для этой задачи персептрон Розеблатта, а не более подходящий инструмент. Прогресс.
                                                                          –1
                                                                          нет
                                                                            0
                                                                            На самом деле мне было интересно, как решит эту задачу MLP+BackProp. И Вы удовлетворили мой интерес. Сам я этим заниматься не хотел.

                                                                            Я имел некоторый отрицательный опыт с MLP+BackProp. Но я пока не до конца могу сформулировать мои к нему претензии. Возможно они субъективные.

                                                                            Но мне бы помог исходный код библиотеки, на которой вы это делали — он доступен? Еще идеальнее было бы получить код MLP+BackProp на C#… те варианты реализация которые я видел, кажется работаю хуже чем то что вы продемонстрировали.
                                                                              0
                                                                              Эта библиотека — прямой порт Neural Network Toolbox из Матлаба.
                                                                              Вариант для питона лежит здесь: code.google.com/p/neurolab/

                                                                              Остальное оставлю без комментариев.
                                                                      –1
                                                                      > загасить все лишние элементы решателя, которые ему для этой задачи не нужны

                                                                      А заодно может поймете — то чего не понимали в предыдущей статье, а именно как подавление шума может способствовать нахождению нужного решения.
                                                                0
                                                                Кроме того, речь идет не о сети с элементами w1*x1 + w2*x2 + b… это вы специально выбрали? (ведь я вам указывал, что вы не понимаете задачу)

                                                                Речь идет о сети со средним слоем, с произвольно заданным числом нейронов!
                                                                  0
                                                                  Зачем вам скрытый слой, если с этой задачей справляется один нейрон?
                                                                    0
                                                                    Потому что задача в другом, а вы это не понимаете.
                                                                      –1
                                                                      Уж что-что, а задачу вы сформулировали предельно чётко. Посчитать нейросетью сумму двух чисел. Я смог, вы нет. Problems?

                                                                      Остальные задачи вы ставите дальше. Я бы решал их другими методами. Но зачем, если вы не справились и с первой?
                                                                        0
                                                                        >Посчитать нейросетью

                                                                        у вас ее нет.
                                                                          –1
                                                                          Спорим?
                                                                            –1
                                                                            нет предмета спора
                                                                              0
                                                                              Ну отчего же. Вы говорите, что это не нейросеть, а я говорю, что это она и есть. Чем не предмет?
                                                      0
                                                      tac: «У подножья пирамиды ИИ сидят оракулы — это те люди которые громогласно заявляют мы занимаемся «сильным ИИ», «слабый ИИ» — нас не интересует. Это фрики — как минимум те, которых я встречал все были именно фриками.»

                                                      Неужели таких людей так много, что они могут занять все подножие пирамиды? Конечно, такие люди, как Марвин Минский, Дуглас Ленат, Джон Маккарти, Рэй Соломонов и другие оракулы исходно были и даже оставались фриками на протяжении более чем полувека. Но все же они заслуживают уважения. (Немного к ИИ не относится, но Перельману не помешало то, что его тоже можно назвать фриком, доказать гипотезу Пуанкаре).
                                                      Как вы отделите тех, кто за деревьями теорий в ИИ видит лес сильного ИИ, так же как некоторые теоретики абстрагируются от частных задач, кто прошел стадии «инженеров» и «теоретиков» (нередко оставаясь ими) и пришел проблематике сильного ИИ, от тех, кто «занимается» сильным ИИ без особого предварительного практического и теоретического опыта?

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

                                                      Грустно слышать такие заявления. Адекватных людей в области сильного ИИ и так немного, а если их еще оттуда отвращать, то там действительно останутся одни фрики в самом плохом смысле этого слова. Так что призываем всех «молодых людей» хотя бы думать своей головой…
                                                        0
                                                        Адекватных людей в области сильного ИИ вообще нет. Минский к примеру вообще к этому не относится. Поэтому статья призвана перенаправить адекватный людей на путь к беседке на верху пирамиды.
                                                          +1
                                                          Лучше, конечно, им самим решать, относят ли они себя к области сильного ИИ. Но:
                                                          1) Очевидно, что в середине прошлого века относили в том смысле, что заявляли, что создание мыслящих машин не за горами;
                                                          2) Продолжали относить и потом; по крайней мере, некоторые из них. Читайте, например,
                                                          McCarthy J. The Future of AI—A Manifesto // AI Magazine. 2005. V. 26. No 4. P. 39.
                                                          Nilsson N.J. Human-Level Artificial Intelligence? Be Serious! // AI Magazine. 2005. V. 26. No 4. P. 68–75.
                                                          Solomonoff R. Algorithmic Probability, Heuristic Programming and AGI // In: E.Baum, M.Hutter, E.Kitzelmann (Eds), Advances in Intelligent Systems Research. 2010. V. 10 (Proc. 3rd Conf. on Artificial General Intelligence, Lugano, Switzerland, March 5-8, 2010). P. 151–157.

                                                          Или, скажем, Шмидхубера Вы считаете недостаточно известным ученым? Или неадекватным? Или будете уверять, что он не работает в области сильного ИИ?

                                                          Извините, но, похоже, Вы просто не в контексте… (я уж пропущу Ваш намек на нашу неадекватность, чтоб не разводить флейма)
                                                            0
                                                            Вы лично про сильный интеллект еще не написали не оной статьи, поэтому именно к вам лично пока претензий нет :)
                                                              0
                                                              То есть за Минского не хотите отвечать? ))
                                                              Дело-то не в претензиях лично к нам, а в Вашем утверждении: «Адекватных людей в области сильного ИИ вообще нет», которое является очевидным сверхобобщением. Как специалист по машинному обучению, Вы должны знать, что это такое. Так что либо отвечайте по каждому конкретному случаю о неадекватности людей, либо признавайте свое утверждение как ложное.
                                                                0
                                                                А что у нас с Минским?
                                                                  0
                                                                  Видимо, примерно то же, что и с Маккарти.
                                                                    0
                                                                    Видимо, т.к. я не помню, чтобы Минский занимался проблематикой сильного ИИ, я вообще нигде не встречал, чтобы классики ИИ уделяли бы этому внимание.
                                                                      0
                                                                      В принципе вообще как таковой проблематики сильного ИИ — не существует.
                                                                        0
                                                                        Ну, хорошо, чтобы не уходить в словоблудие, поставим точки над ё.

                                                                        Для сравнения:

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

                                                                        Маккарти: «I think the best hope for human-level AI is logical AI, based on the formalizing of commonsense knowledge and reasoning in mathematical logic.»; «AI research should not be dominated by near-term applications. DARPA should recall the extent to which its applied goals were benefitted by basic research. NSF should not let itself be seduced by impatience.»

                                                                        И пусть каждый, как хочет, так эти высказывания и интерпретирует, сравнивает и делает из них свои выводы.
                                                                          0
                                                                          Извиняюсь, первая цитата Маккарти должна быть эта:
                                                                          «The long-term goal of AI is human-level AI… Basic researchers in AI should measure their work as to the extent to which it advances this goal.»
                                                                          0
                                                                          Верно, если нет «сильного ИИ», то, значит, нет и соответствующей проблематики.
                                                                            0
                                                                            Да, вообще-то критерий даже не этот. Есть или нет это вопрос вторичный.

                                                                            В этом отношении, мне нравятся слова Таубе (которые приводит Лем в «Сумме технологий»):

                                                                            1. предлагается конструкция машины, предназначенной для моделирования человеческого мозга, который не описан;
                                                                            2. подробно описанные характеристики машины полагаются аналогичными характеристикам мозга;
                                                                            3. затем делается «открытие», что машина ведет себя подобно мозгу; порочность состоит в «открытии» того, что было постулировано".
                                                                              0
                                                                              Надо разорвать «круг Таубе»! Иначе будем постояно толкаться в этих «трёх соснах».
                                                                                0
                                                                                Вопрос в том — как?

                                                                                1. Человеческий мозг полностью не будет никогда описан, пока не будет создана модель для моделирования человеческого мозга
                                                                                2. Чтобы говорить о модели человеческого мозга применительно к машине мы вынуждены делать аналогии, которые по определению будут постоянно спекулятивны
                                                                                3. Если мы будем на основании пунктов 1 и 2 делать «открытия» — мы будем не больше не меньше, а только оракулами сильного ИИ.
                                                                                  –2
                                                                                  tac

                                                                                  //Человеческий мозг полностью не будет никогда описан, пока не будет создана модель для моделирования человеческого мозга//

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

                                                                                  Поэтому копировать мозг — дело контрпродуктивное.
                                                                                  Тем не менее, многие верят в мозг, как верят в бога.
                                                                          +1
                                                                          Ой, интересно, а с кем же тогда так усиленно спорили Дрейфус, Сёрл и прочие философы? А чем является Общий Решатель Задач Ньюэлла и Саймона или Универсальная Индукция Соломонова как не работами в области «сильного ИИ» (пусть тогда этого термина еще не было)? А разве многие будущие классики в середине прошлого века не говорили, что создание компьютеров, обладающих уровнем интеллекта, сопоставимым с человеческим, будет возможно в ближайшие десятилетия?.. А чего Вы еще не помните и не встречали?
                                                                            0
                                                                            С ними поэтому и спорили, что они то думали что они занимаются чем то связанным с интеллектом — но их в историческом плане поставили на место — указав им место названное «слабый ИИ». И им достаточно хорошо объяснили, что то чем они занимаются это не сильный ИИ, и не стоит на это претендовать. И они в общем-то смерились. Не смерились как раз другие — те кого я назвал оракулами.
                                                                              0
                                                                              Еще раз, прочитайте указанные статьи от президентов AAAI. Вот еще пара в добавок:
                                                                              Brachman R. Getting Back to “The Very Idea” // AI Magazine. 2005. V. 26. No 4. P. 48–50.
                                                                              Cassimatis N., Mueller E.T., Winston P.H. Achieving Human-Level Intelligence through Integrated Systems and Research // AI Magazine. 2006. V. 27. No 2. P. 12–14.
                                                                              После прочтения ответьте на вопрос, вы уверены, что они смирились? Не додумывайте абстрактно за них, а почитайте, что они пишут. Никто «на место» этих людей не поставил. У философов и психологов для этого слишком «кишка была тонка».
                                                                              Познакомьтесь с современной обширной литературой по семантическому основанию символов, где есть множество вполне обоснованных претензий на разрешение парадокса китайской комнаты (который, вообще говоря, специалисты по ИИ особой проблемой и не считали никогда).
                                                                              Именно работы, претендующие на достижение настоящего ИИ, и двигали реально вперед эту область, пусть они пост фактум и оказывались недостаточными. А философствования на тему «круга Таубе» — вот это как раз и является оракулизмом.
                                                                              Да, антропоморфизм «сильного ИИ» мешает дать ему четкое определение. Поэтому сейчас и говорят об «artificial general intelligence», который на человека вообще никак не ссылается и описывается в чисто кибернетических терминах. И абсолютно не важно, будут ли за таким ИИ философы признавать разум или окрестят «бездушной машиной». Суть работ в данной области от этого не меняется.
                                                                                0
                                                                                Я очень привязался к саркастическому определению, которое Хофштадтер приписывает Ларри Тесслеру: «ИИ — это то, что ещё не сделано». В том смысле, что каких бы успехов не достигли в этой области, решённые задачи немедленно объявляются не такими уж интеллектуальными и «ИИ» каждый раз отодвигается ещё немного дальше. Это было сказано ещё до разделения ИИ на вычислительный и общий, но в целом, на мой взгляд, не потеряло актуальность.
                                                                                  0
                                                                                  Да, есть такое высказывание, но его тоже можно понимать в положительном и отрицательном смысле.
                                                                                  0
                                                                                  А вот это уже попахивает софизмом от оракулов. Да, бывает и так — со временем инженеры скатываются со ступенек пирамиды…
                                                                      0
                                                                      Совсем свежий пост про «сильный ИИ»:

                                                                      habrahabr.ru/post/149055/
                                                                        0
                                                                        Вы таким способом хотите подтвердить правоту tac'а? Ну, один положительный пример не доказывает общего правила…
                                                                          0
                                                                          aideus

                                                                          А в чём, собствено, суть «общего правила»?

                                                                          Вы могли бы свою позицию детализировать?
                                                                            +1
                                                                            Постулируемое tac'ом общее правило: «Адекватных людей в области сильного ИИ вообще нет».
                                                                              –1
                                                                              aideus

                                                                              В одном tac говорит верно. Если бы в ИИ действительно были адекватные спецы, то они уже давно бы что-нибудь такое сотворили адекватное. А раз не сделали, то, значит, и не адекватные.

                                                                              Если Вам показалось, что tac претендует на «исключительную адекватность» в ИИ, то скажем мягко, что это Вам показалось.

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

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

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

                                                                      0
                                                                      McCarthy — и причем тут сильный ИИ, когда он не дня им не занимался?
                                                                        0
                                                                        Прочитайте указанную статью.
                                                                          0
                                                                          Ну, или если лень, вот цитата: «The long-term goal of AI is human-level AI… Basic researchers in AI should measure their work as to the extent to which it advances this goal.»
                                                                          (если Вам лично не нравится термин «сильный ИИ», то давайте говорить о «human-level AI»)
                                                                            0
                                                                            Мне не нравится постановка вопроса о создании сильного ИИ в оригинальном определении «такая программа будет не просто моделью разума; она в буквальном смысле слова сама и будет разумом».

                                                                            «human-level AI»

                                                                            «искусственный интеллект уровня человека»? Под этим можно понимать совершено другое. Что Вы под этим понимаете?

                                                                            И Маккарти может говорить что угодно, только он ничего не делал в этом направлении, он работал ТОЛЬКО над слабым ИИ в его классическом смысле.
                                                                              0
                                                                              Читаем Маккарти дальше:
                                                                              «I think the best hope for human-level AI is logical AI, based on the formalizing of commonsense knowledge and reasoning in mathematical logic.»
                                                                              А именно этим он и занимался. Вы можете сказать, что его подход к human-level intelligence может дать в итоге лишь слабый ИИ. И с этим я соглашусь. Но это не отменяет того факта, что сам Маккарти полагает, что работал именно в направлении human-level intelligence.

                                                                              Теперь о терминах. С ними, конечно, все плохо. Но «human-level intelligence» — это эфвемизм, замена термина «сильный ИИ». Сейчас еще есть «artificial general intelligence». Мы предпочитаем говорить про «универсальный интеллект», но он тоже вызывает вопросы. Однако, может, люди расходятся в терминах и в их понимании относительно сильного ИИ, но всем понятно, что такое слабый или специализированный ИИ. И всем понятно, что слабый ИИ не является ни сильным, ни универсальным, ни human-level. И где на вашей пирамиде находятся люди, которые занимаются «неслабым» интеллектом?
                                                                                0
                                                                                > formalizing of commonsense knowledge and reasoning in mathematical logic

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

                                                                                > но всем понятно, что такое слабый или специализированный ИИ

                                                                                Все то, что не замахивается на решение проблемы китайской комнаты?

                                                                                > И где на вашей пирамиде находятся люди, которые занимаются «неслабым» интеллектом?

                                                                                Лучше я вам еще раз объясню, кто такие «оракулы у подножья пирамиды». Как только вы начали говорить о классиках ИИ и подозревать их в связи с сильным ИИ, а дальше в рамках данной мной схемы отобразили их на оракулов. Вы ошиблись в таком отображении. Все те классики, о которых вы начали говорить, Маккарти, Минский, Розенблатт и т.д. занимались именно начиная с построения слабого интеллекта. Ни кому из них не приходило в голову строить модели сильного интеллекта. В моей схеме это означает, что они уже толкались на ступеньках пирамиды. Многие классики на этом и закончили — к примеру Маккарти. Минский и Розенблатт побывали в «беседке на вершине пирамиды». Но это не означает что они занимались теориями сильного ИИ. Они указывали как решать более общее задачи слабого ИИ, с попыткой приблизится к человеческому интеллекту. Начать со слабого ИИ и обобщить попытки, подходы — да это путь наверх. Начать с сильного ИИ — это обречь себя сидеть у ступенек пирамиды. Вот одна простая мысль.
                                                                                  +1
                                                                                  tac: «Они указывали как решать более общее задачи слабого ИИ, с попыткой приблизится к человеческому интеллекту. Начать со слабого ИИ и обобщить попытки, подходы — да это путь наверх.»

                                                                                  Это и означает «заниматься сильным ИИ».
                                                                                    0
                                                                                    > Это и означает «заниматься сильным ИИ»

                                                                                    Нет.
                                                                                      0
                                                                                      Да.
                                                                        0
                                                                        > Лучше, конечно, им самим решать, относят ли они себя к области сильного ИИ

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

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

                                                                        С другой стороны, кибернетик не может сам наделять смыслом психологические термины смыслом — иначе он будет всегда делать круг Таубе.
                                                                          0
                                                                          > Их терминология — эфемерна и пуста, она не может служить основанием для построения систем.

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

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

                                                                  Only users with full accounts can post comments. Log in, please.