← Хакатон deep.hack -- всё получилось!
Обсуждение
Читать и комментировать в ЖЖ ↗
Комментарий
>Мы обсуждали, что если добавить аппаратуры и результаты RNN по генерации текста поставить под контроль reinforcement learning, то можно получить агента-спорщика (и функция вознаграждения/подкрепления тут -- выигрыш в споре путём логических аргументов и вскрытия логических ошибок соперника). А почему бы и нет?!
Ну-ка ну-ка, и кто же, по вашему, будет определять каждый раз победителя двух агентов-спорщиков? Неужто опять без человека не обойтись? ;)
Комментарий
Очень интересная тема - это построение обучающихся генераторов программного кода. Можно начать с заданий а-ля Пиктомир, или Кумир.
Комментарий
угу, ждем забастовок программистов во Франции
Комментарий
Произошел ли уже переход от бихевиоризма к когнитивной психологии? И видны ли уже другие направления? "Существет мнение" , что интеллект/разум - это такая непрограмируемая социальная штука, которую изучает, например праксиология. Применим ли такой взгляд на програмный интеллект и сможет ли он стать когда-нибудь интеллектом в таком антропоцентристском понимании?
Комментарий
Я очень чётко написал, что подход со стороны гуманитарных наук сейчас вреден. Вместо того, чтобы засучить рукава и сделать очередной калькулятор (который, например, ставит диагноз, или находит хитрую ошибку в инженерных расчётах, или ещё что делает полезное), приходят разные философы и психологи и начинают обсуждать птичность самолёта или когнитивность нейросетки.
Давайте поработаем, а? Без навешивания ярлыков, разработанных для человека и животных. У нас тут железки и программы, не более.
Я ж много постов подряд об этом прошу: не считать, что автомобилями без водителя занимаются психологи и социологи! Ими инженеры занимаются! Значит, и вопросы нужно ставить инженерные, а не философско-психологические-праксиологические.
А там посмотрим, когда и впрямь начнут с людьми путать железки. А пока не путают, не нужно добавлять ненужного. Праксиология и бихевиоризм неприменимы ни к калькулятору, ни к регулятору Уатта.
Комментарий
Анатолий, извините, не планировал вас как-то задеть
Я читал. И ходил по ссылкам, и смотрел презентации. И даже на этой странице прекрасно вижу про нейробиологов, журналистов и философов. Задавал ли бы я вопросы по тому, на что вы уже ответили?
Но, признаюсь, я все время чувствую в ваших материалах эту недосказанность "мы пока не знаем что мы делаем, по-моему, это будет молоток, но вроде-как и с какими-то признаками интеллекта, но мы категорически против этого термина, хоть и мечтаем о нем"
Вот честно, непонятно - видите ли вы в качестве стратегической цели приход к "разуму"?
"Волнительный диалог с программой", "учиться, учиться и еще раз учиться" - вот это выглядит сомнительно, если делать молоток.
Описываемые вами события вызывают восхищение и этим только сильнее разогревают новые вопросы
Комментарий
Совершенно необязательно в качестве стратегической цели я вижу приход к разуму, повторяющему человеческий. Меня всегда удивляло, что после изобретения музыкального синтезатора развитие инструментов закончилось во многом тем, что как можно точнее начали воспроизводить звуки классических акустических инструментов -- типа того же рояля. А собственно синтезаторы волновали очень небольшую часть музыкантов. Так и тут: вовсе необязательно проходить по тому же пути, по которому проходило знание о человечьем разуме.
Я выполняю тут программу learnining by discovery, сформулированную Дугласом Ленатом ещё в начале 80-х. Только тогда вычислительные мощности были крошечными. А сейчас можно и впрямь что-то сделать, и попробовать руками, а не только бла-бла-бла на темы всех этих "разумов".
Ежели рассматривать жизненный цикл человеческого знания, то наилучшей формулировкой, которую я нашел на настоящий день, является lerning by discovery, или Accretion Model of Theory Formation Дугласа Лената. Компактифицирование знания, его рефакторинг, изменение формы презентации являются существенными стадиями этого жизненного цикла (конечно, эти стадии пересекаются!). Вот эта "модель прироста в формировании теорий" (http://eksl.isi.edu/files/library/Lenat-1983-theory-formation-by-heuristic-search-AIJ-heuristics.pdf, а более ранняя цитируемая там работа -- http://www.dtic.mil/cgi-bin/GetTRDoc?AD=ADA096511&Location=U2&doc=GetTRDoc.pdf):
1. Когда дано немного новых (не полностью исследованных) определений, объектов, операций, правил и т.д., немедленно собери о них эмпирические данные: найди их примеры, попробуй их применить и т.д.
2. По мере того, как это продвигается, пробуй заметить в данных регулярности, паттерны и исключения для паттернов.
3. Из этих наблюдений сформируй новые и модифицируй старые гипотезы. В мире, который ты можешь как-то контролировать, спланируй и проведи эксперименты для проверки этих гипотез.
4. По мере того, как развивается набор догадок, экономизируй путем создания новых определений, которые укорачивают формулировки наиболее полезных догадок. Весь циклический процесс сейчас начнется заново с шага 1, на материале этих новых определений.
5. По мере прохождения цикла (шаги 1-4), становится необходимо время от времени обобщать некоторые новые специализированные эвристики, перерабатывая прошедший опыт обучаемого [тут нужно учесть, что Ленат описывает "обучение открытиями" -- lerning by discovery]
6. В еще более редких случаях будет необходимо дополнить или сдвинуть репрезентацию, в которой кодировано знание о предметной области.
7. Для всех шагов в этой модели, даже для шагов 5, 6 и 7, достаточно собирать и использовать набор эвристик, неформальных правил рассуждения, которые ведут исследователя к наиболее приемлемым альтернативам и уводят от наиболее неприемлемых.
Мы тут на первых шагах: как вы пишете -- "попробуем сделать молоток и поиграться с ним". Ну, и важно делать что-то в пределах возможного, чтобы не тратить время на обсуждение всяких "настоящий разумов" в их сегодняшних глубоко антропоцентричных пониманиях. Меня не волнует, обзовут ли мой думающий молоток бихевиористским или когнитивистским. Как хотите, так и называйте.
Мои личные пристрастия тут -- да, бихевиоризм, тупой бихевиоризм, он же reinforcement learning в приложении к абсолютно тупым нейросеткам. Будем играться с ним. И он позволит решить довольно сложные задачи, которые раньше решить было нельзя. А потом посмотрим, что нужно сделать, чтобы решить другие, более сложные классы задач, недоступные для reinforcement learning. Обратите внимание, что даже до reinforcement learning нужно научиться работать с convolution NN и recurrent NN, так что это даже не самое начало пути.
Всё по очереди, всё пошагово. На каждом шаге определяем, куда идти дальше. И помним на каждом шаге, что у нас не люди, и повторять людей необязательно. А вот решать конкретные задачи на каждом шаге обязательно.
Комментарий
Спасибо за пояснение. Это во много перекликается с моими рассуждениями.
Кстати, первая ссылка не открывает нужный файл, но я его уже нашел на другом ресурсе
Комментарий
Тут уже выше отметили, но я попробую свести вместе: между "агентами, которые что-то делают" (ну, скажем, играют в аркадные игры) и "агентами-спорщиками" могут быть агенты, которые пишут код. В смысле, понятный человеку код. Ну вот, например, третьеклассник способен сесть за игровой автомат и начать в него играть, не читая правил и разбираясь в происходящем по ходу дела. Нейросетка тоже. Замечательно. Восьмиклассник, прошедший информатику, способен написать скрипт на питоне (200 строчек), играющий в эту конкретную игру. Причём скрипт у него будет худо-бедно структурирован, с мнемоничными именами переменных и может быть даже с комментариями. Нейросетке слабо? Причём, поскольку (как мы все знаем) программы на языках высокого уровня предназначены для людей больше, чем для компьютеров, это будет на самом деле сетка-спорщик. А исполнимось порождённых ей скриптов -- хоть какая-то гарантия, что спор не о "смысле жизни", что он имеет смысл.
(Бендер) Мне нужен калькулятор!
(Фрай) Бендер, ты же сам калькулятор!
(Бендер) Мне нужен хороший калькулятор!
... Identical to supernatural ...