Этологический форум  

Вернуться   Этологический форум > Гайд Парк
Имя
Пароль
Справка Пользователи Календарь Поиск Сообщения за день Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #21  
Старый 13.03.2013, 15:50
Alex Alex вне форума
этолог
 
Регистрация: 21.01.2009
Адрес: Москва
Сообщения: 729
По умолчанию

Цитата:
Сообщение от Alexander B.
Тест Тьюринга для текстового чата проходится в течении целого часа такими примитивными ботами, которые вообще текст не анализируют.
Если на обратном конце провода "реально блондинка".

Это было что? Возражение, подтверждение или просто так поболтать?
Ответить с цитированием
  #22  
Старый 13.03.2013, 15:58
Аватар для VPolevoj
VPolevoj VPolevoj вне форума
эрудит
 
Регистрация: 02.09.2009
Адрес: Санкт-Петербург
Сообщения: 1,185
По умолчанию

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

Как мы при этом ведем отбор: дихотомически - делением на два, или используя нечеткие ответы (пять или больше вариантов) - это не важно, хотя, разумеется, пять вариантов ответов круче, чем два! Но принципиально это ситуацию не меняет.

Есть массив слов - понятий, и есть свойства этих предметов - слов и понятий, которые программа узнает от нас путем ответов на вопросы.

Фактически у нас получаются два вектора: с одной стороны слова, с другой - вопросы и ответы на них. И каждое слово - понятие - по-разному вписывается в матрицу вопросов-ответов. И, понятное дело, что вроде бы программе нужно при внесении в свою память нового слова-понятия попросить человека соотнести это новое слово СО ВСЕМИ УЖЕ ИМЕЮЩИМИСЯ в её базе вопросами, что, сам понимаешь, довольно затруднительно (вряд ли кто на такое согласится добровольно, разве что программе пойти на хитрость, и время от времени задавать людям вопросы, на которые у неё самой нет четких ответов - и таким образом насобирать необходимую для себя статистику).

Далее, как ты совершенно правильно пишешь, встает вопрос с упорядочиванием вопросов по их значимости с точки зрения эффективности отбора. Есть вопросы, которые будучи заданы, резко и четко разделяют весь массив понятий примерно на две равные части (пример: Это живое?) - а это и есть самый эффективный алгоритм поиска нужного значения: 17 последовательно заданных вопросов разделяют 131000 значений, 18 вопросов - 262000, 19 - 524000, а 20 вопросов охватывают более миллиона самостоятельных понятий (столько у нас - у человечества - просто нет).

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

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

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

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

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

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

Последний раз редактировалось VPolevoj, 13.03.2013 в 16:07.
Ответить с цитированием
  #23  
Старый 13.03.2013, 23:09
Alex Alex вне форума
этолог
 
Регистрация: 21.01.2009
Адрес: Москва
Сообщения: 729
По умолчанию

Цитата:
Сообщение от VPolevoj
Как мы при этом ведем отбор: дихотомически - делением на два, или используя нечеткие ответы (пять или больше вариантов) - это не важно, хотя, разумеется, пять вариантов ответов круче, чем два! Но принципиально это ситуацию не меняет.

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

Цитата:
Сообщение от VPolevoj
И зря Alex говорит, что подобные алгоритмы не имеют отношения к работе нашего мозга - имеют, и самое непосредственное. Например, наше зрение занято примерно тем же, чем занимаются наши программы - акинатор и Незнайка - задают последовательные вопросы и получают последовательные ответы для того чтобы распознать все попадающие в поле зрения объекты и описать всю сцену целиком - на это у нашего мозга затрачивается примерно 1/30 секунды.

Вот тут, пожалуйста, подробнее. Где, в каких исследованиях показано, что это процесс последовательный? Для меня это очень важно.
Ответить с цитированием
  #24  
Старый 13.03.2013, 23:46
Наталья Наталья вне форума
эрудит
 
Регистрация: 26.01.2008
Сообщения: 245
По умолчанию

Интересно, здесь все умеют программировать, кроме владельца [s]зоопарка[/s] сайта? :-)
Ответить с цитированием
  #25  
Старый 13.03.2013, 23:48
Наталья Наталья вне форума
эрудит
 
Регистрация: 26.01.2008
Сообщения: 245
По умолчанию

Цитата:
Сообщение от Alex
Где, в каких исследованиях показано, что это процесс последовательный? Для меня это очень важно.

Прерывание на моргание - не подайдет?
Ответить с цитированием
  #26  
Старый 14.03.2013, 00:04
Наталья Наталья вне форума
эрудит
 
Регистрация: 26.01.2008
Сообщения: 245
По умолчанию

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

У Вас что, под рукой большая группа детей? Вроде бы в он-лайне было бы проще базу собрать :-)
(зачем программу было в экзешнике делать? При этом понятно, что это вроде бы игра для себя... в смысле запрограммировать)
Ответить с цитированием
  #27  
Старый 14.03.2013, 09:49
Аватар для VPolevoj
VPolevoj VPolevoj вне форума
эрудит
 
Регистрация: 02.09.2009
Адрес: Санкт-Петербург
Сообщения: 1,185
По умолчанию

Цитата:
Сообщение от Наталья
VPolevoj
У Вас что, под рукой большая группа детей?
При этом понятно, что это вроде бы игра для себя... в смысле запрограммировать
Да, Наталья, у меня у самого трое детей.

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

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

Для меня самого это игра - верно: каждый раз, возвращаясь к написанию этой игры, я что-то переделываю, переосмысливаю в ней. Меняются какие-то концепции (вот даже название сменилось, и главный герой). Меняется мой взгляд на процесс обучения: как программы, так и человека. Но полной удовлетворенности пока нет. Путь еще не закончен.
Ответить с цитированием
  #28  
Старый 14.03.2013, 11:00
Аватар для VPolevoj
VPolevoj VPolevoj вне форума
эрудит
 
Регистрация: 02.09.2009
Адрес: Санкт-Петербург
Сообщения: 1,185
По умолчанию

Цитата:
Сообщение от VPolevoj
И зря Alex говорит, что подобные алгоритмы не имеют отношения к работе нашего мозга - имеют, и самое непосредственное. Например, наше зрение занято примерно тем же...
Цитата:
Сообщение от Alex
Вот тут, пожалуйста, подробнее. Где, в каких исследованиях показано, что это процесс последовательный? Для меня это очень важно.
Alex, к сожалению, быстро найти ссылку не удалось, но могу дать наводку: про это исследование я прочитал в журнале "Наука и Жизнь" в номерах примерно в годах между 1975 и 1980 (если у тебя есть доступ к оглавлениям этих журналов - могу дать точную ссылку на статью. К моему большому сожалению, на их сайте все оказалось просто ужасно: архива нет, оглавления нет, и т.д., но я наткнулся на любителей "НиЖ" - поищи, может у них что найдешь).

Изложу пока суть этих экспериментов и основные выводы из них.

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

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

Вот, сажают человека за такое устройство и начинают ему предъявлять какое-нибудь изображение постепенно наращивая время предъявления. Поначалу он ничего не видит ("белый шум"), затем что-то у него проясняется (но он еще не понимает что - обычно делаются различные предположения: например, показывали картинку со страусом, а человек на этом этапе распознавания говорит: "Что-то бежит"). И лишь на какой-то миллисекунде (а для этого требуется примерно 100-200 миллисекунд) человек правильно называет то, что ему показывают.

Но из такого эксперимента мало что понятно. Тогда стали делать так: попросили не распознавать, а выбирать из предъявляемого набора образцов. И выяснили, что если требуется выбирать всего из двух образцов, то время на распознавание требуется минимальное (не помню точно, но скажем где-то 10 мс), если требуется выбрать из трех-четырех образцов, то время для этого нужно 20 мс, если из 5-8 образцов, то на это потребуется уже 30 мс и т.д. Любой программист сразу же уловит закономерность - это степени двойки.

Дальнейшие исследования показали, что чем сложнее картинка, тем больше времени требуется на её анализ и распознавание. Полное осмысление целостной "сложной картинки" занимает чуть больше 600 мс (то есть, как видишь, даже больше чем полсекунды), но такая ситуация случается у нас очень редко - обычно мы смотрим на то, что уже видели (причем, буквально 1/30 секунды назад).

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

Сначала, как водится, человек ничего не видит. Начинают увеличивать время... Первая реакция: "Кто-то кого-то ловит!" Смотрю сам... Вроде бы мирная картинка, почти идиллическая... детки... ну да, есть хищник - лисенок, с некоторой натяжкой можно подумать что потенциальная угроза есть, ... но потом, присмотревшись, понимаешь, что лисенок-то, оказывается, бегает по полянке С САЧКОМ и ЛОВИТ бабочек. Но как наш мозг из всего увиденного ПЕРВЫМ выделяет именно это?!!!

И лишь потом из всей сценки начинают выплывать отдельные персонажи и сюжетные линии. Но первое - это кто-то кого-то ловит!

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

И при этом не забывай: то что нам не нужно, мы НЕ ВИДИМ - не замечаем, даже если это лежит прямо перед нашими глазами. То есть, зрение - избирательно!

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

Последний раз редактировалось VPolevoj, 14.03.2013 в 11:16.
Ответить с цитированием
  #29  
Старый 14.03.2013, 13:53
Alex Alex вне форума
этолог
 
Регистрация: 21.01.2009
Адрес: Москва
Сообщения: 729
По умолчанию

Как мне кажется, никаких доказательств последовательного характера восприятия тут не получено. Скорее, наоборот. Сцена уже проанализирована (кто-то кого-то ловит), но на поиск вербальных соответствий времени не хватает. Что касается выбора из N образцов, то мы делали такой эксперимент: если человеку нужно управлять N параметрами, то как будет распределяться внимание между ними ?
На экране несколько (1,2,3...до 15) движков, которые пытаются случайным образом отклоняться от среднего положения. нажимая на клавиши, их надо возвращать в середину. Оценивается среднее отклонение от середины. То есть если человек может делить внимание поровну между двумя движками, то в среднем каждый успеет уйти вдвое дальше. Результаты: во-первых, идея о том, что человек может одновременно следить за 5-7 параметрами, но не более, в целом подтвердилась. Во-вторых, рост средней ошибки не имел четкого перелома в районе 5-7 параметров, ошибка нарастала нелинейно, но плавно.
Это к тому, что обработка происходит не последовательно, но и не параллельно. При последовательной обработке (смотрим первый, смотрим второй...) ошибка бы нарастала равномерно. При параллельной, наоборот, был бы резкий излом в тот момент, когда достигается предел одновременно выполняющихся процессов (как это происходит в компьютере).
Глаз - это не видеокамера, а скорее, сравниватель с заданными образцами, именно так. Причем сравнение происходит параллельно, а вывод информации - речь - последовательно.
Отсюда огромная разница между вербальными реакциями вида "назови картинку" и сенсомоторными вида "защитись от удара".
Ответить с цитированием
  #30  
Старый 14.03.2013, 15:18
Аватар для VPolevoj
VPolevoj VPolevoj вне форума
эрудит
 
Регистрация: 02.09.2009
Адрес: Санкт-Петербург
Сообщения: 1,185
По умолчанию

Цитата:
Сообщение от Alex
Результаты: во-первых, идея о том, что человек может одновременно следить за 5-7 параметрами, но не более, в целом подтвердилась. Во-вторых, рост средней ошибки не имел четкого перелома в районе 5-7 параметров, ошибка нарастала нелинейно, но плавно.
Alex, а вы проверьте свои полученные результаты на дихотомию - степень двойки.

Я вам как бы на ЭТО намекаю, а не на то, что "последовательно-параллельно".

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

Чтобы выбрать один из трех или из четырех образцов (2^2=4) мозгу (или глазу - не знаю, скорее, первое) потребуется уже ДВА цикла, и следовательно, две порции времени.

Чтобы выбрать из пяти, шести, семи или восьми образцов (2^3=8), мозгу потребуется ТРИ (всего три!) цикла, три порции времени. Выбор из 9-16 образцов потребует 4-х циклов (все четко фиксируется). Выбор из 17-32 образцов - 5 циклов и т.д. Если считать, что один цикл проходит примерно за 10 мсек (к сожалению, я не помню точное значение, нужно поднять статью), то для выбора из 1000 возможных объектов нашему мозгу потребуется (2^10=1024) всего 10 циклов, то есть - 100 мсек. Что довольно точно совпадает с временем распознавания "случайной" одиночной картинки.

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

Последний раз редактировалось VPolevoj, 14.03.2013 в 15:30.
Ответить с цитированием
Ответ


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +4, время: 20:24.


Русский vBulletin v3.5.1, Copyright ©2000-2020, Jelsoft Enterprises Ltd.
Перевод сделал zCarot