Модераторы: Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программа-собеседник(Нейросеть), помогите 
:(
    Опции темы
sibedir
Дата 5.12.2008, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 5.12.2008
Где: Россия Алтайский кр. г.Барнаул

Репутация: нет
Всего: нет



ТЕМА РЕАНИМИРОВАНА smile 

 smile Разговор на тему загнулся. Я так понимаю решения никто не нашел.  smile Что слабо?  smile 
Ладно, шучу. Без обид.
Написать нейросеть для распознавания изображения, голоса, тематики текста или что-то такое - это все из области изобретения велосипеда.  Получить нормальный разговорник в полном понимании этого слова - это пока из области фантастики. Это еще никому не удалось. Проблема не в объеме нейросети, хотя это тоже проблема. Вот у человека в мозгу 10^11 нейрон, каждый имеет от 10 до 1000 связей. Если провести аналог биологического и программного нейрона, то получится, что для их соответствия вес программного нейрона должен быть наверное пару мегабайт. Это из-за разнообразия в органике. В нейроне образуются различные соединения, к тому же из количество может быть различным. Прикиньте, по 16 байта на адрес нейрона - 10^11 * 16, по 16 байт на связь - 500 * 16, по 2Мб на вес. Итого 10^11*16 * 500*16 * 1024*1024*2 = 26 843 545 600 000 000 000 000 Байт.  smile  Да тут 128-битная система нужна (у нас пока максимум 64-битная).
Но программируя нейросеть мы, во-первых, решаем конкретную узкую задачу, а во-вторых, можем упростить работу сети, подавая ей слова уже в виде символов текста или номера из базы (как предлагал Gwendolen). Это значительно, на много-много порядков уменьшит размер сети. Но главная проблема таится в другом. Сразу приведу пример. Допустим вы написали сеть и обучили ее на умение давать "правильный" ответ на разные вопросы. Я сяду работать с вашей программой и через минуту введу ее в ступор:

Я: Привет, ты кто?
ИИ: Здравствуйте, я X#$^% - программа для имитации разговора.
Я: Что ты делаешь?
ИИ: Я разговариваю с вами.
Я: А зачем?
ИИ:  smile  smile  smile
         Теперь курить можно и здесь smile  
И дело не в том, что сеть не сможет найти ответ на вопрос: Зачем она со мной разговаривает. Дело в том, что она не поймет вопрос. Ведь если бы я спросил: А зачем ты со мной разговариваешь? Уверен, она нашла бы что мне ответить. Но спросил я именно: А зачем? Что вы ответите человеку, который подойдет к вам на улице и спросит: А зачем? В данном случае само понимание вопроса (интерпретация входных данных) зависит от прошлого опыта.
Вообще проблема решаема. Просто ее решение слишком требовательно к ресурсам. По сути, формируя и усложняя сеть, мы опять же придем к подобию мозга, где каждый раздел сети решает свою подзадачу. Для организации реалистичного разговорника, думаю, понадобятся компов 300-600, хороших современных компов объединенных в высокоскоростную сеть.
Более добавить по теме ничего дельного (если считать, что то, что я сказал, дельное) не могу. Сам еще до конца не разобрался. Да и топикстартеру это не нужно. Советовал бы начать изучение ООП с чего попроще. Опять же, без обид. Но учиться ездить сразу на гоночном каре F1 – плохая идея.

Это сообщение отредактировал(а) sibedir - 5.12.2008, 23:33
PM MAIL   Вверх
shara
Дата 5.12.2008, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 29.6.2004
Где: печенье?

Репутация: нет
Всего: 2



sibedir
не согласен с Вами, 
само понятие обучения сети подразумевает то что она может задавать вопросы для получения новых знаний или уточнения предыдущей фразы. и в дальнейшем использовать полученный, так сказать новоприобретенный опыт. 
короче говоря на вопрос "А зачем?" никто не мешает задать вопрос "Что "А зачем?" ?" или подобный. Может быть поведение сети будет не совсем автентичным с поведением человека в такойже ситуации, но согласитесь - это вполне реальный выход из положения. 
ИМХО, проблема не в том что сеть можно загнать в ступор вопросами(это можно сделать и с реальным человеком), более насущная проблема это найти приемлемый метод обучения - который при определенной машинной базе будет гарантировать определенные результаты ... повторюсь ИМХО

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


--------------------
   с точки зрения аэродинамики шмель не может летать  
PM MAIL   Вверх
sibedir
Дата 5.12.2008, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 5.12.2008
Где: Россия Алтайский кр. г.Барнаул

Репутация: нет
Всего: нет



Цитата
Может быть поведение сети будет не совсем автентичным с поведением человека в такойже ситуации

"Не совсем" - это мягко сказано. Представляю эту беседу:
Ч: Привет, ты кто?
ИИ: Здравствуйте, я X#$^% - программа для имитации разговора.
Ч: Что ты делаешь?
ИИ: Я разговариваю с вами.
Ч: А зачем?
ИИ: Что значит "зачем?". Поясните вопрос.
Ч: Ну зачем ты разговариваешь?
ИИ: Для осуществления беседы. Это моё основное назначение.
Ч: Ну и как?
ИИ: Что значит "Ну и как?". Поясните вопрос.
Ч: Тебе удается разговаривать?
ИИ: Вас интересует как мне это удается или наличие самого факта разговора.
Ч: И то и другое.
ИИ: Что "И то и другое". Поясните вопрос.
...
Вообще, если честно. Даже такого разговора не может продемонстрировать ни одна из существующих программ, конечно если он не заложен в нее алгоритмично. Мощностей не хватает. Хотя, прошу заметить, это полноценным разговором назвать нельзя.

Цитата
но согласитесь - это вполне реальный выход из положения.

Соглашусь. Но только с тем, что полностью уподоблять ИИ человеку не стоит.

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

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

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

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

Ну как, есть желание продолжить увеличивать наши шансы? smile
Или может новую темку заведем?

Это сообщение отредактировал(а) sibedir - 6.12.2008, 14:03
PM MAIL   Вверх
kosmonaFFFt
Дата 23.12.2008, 02:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 538
Регистрация: 14.4.2008
Где: Иннополис

Репутация: нет
Всего: 5



Как то около гда назад была мысль ради интереса попробовать реализовать говорилку,
вот только вместо нейросети думал создать базу вопрос-ответ (или несколько ответов),
а программа при встрече с незнакомым вопросом/фразой запоминала бы его, а потом
говорила бы сама и смотрела реакцию, но дальше мыслей дело не зашло. smile


--------------------
user posted image
PM MAIL ICQ   Вверх
Romikgy
Дата 23.12.2008, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 9
Всего: 146



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


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Dmi3ev
Дата 23.12.2008, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 5
Всего: 41



ну давайте попробуем, сформулируем требования к системе, например:
1. запоминать реакцию на фразы
2. как быть с БД
3.....
давайте сформируем требования сначала! какой она должна быть! каждый свое мнение высказывает! можно фантазировать)))


--------------------

PM MAIL   Вверх
GoldFinch
Дата 23.12.2008, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 1
Всего: 26



не читал тему с начала, но как я помню нейросети умеют только определить к какой области пространства входных данных принадлежит точка входных данных. При чем тут мозг человека?
PM MAIL ICQ   Вверх
sibedir
Дата 23.12.2008, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 5.12.2008
Где: Россия Алтайский кр. г.Барнаул

Репутация: нет
Всего: нет



2 GoldFinch
Можешь не читать тему с начала, но вот, если хочешь разобраться с нейросетями, литературку почитать придется или хотя бы вот это
http://ru.wikipedia.org/wiki/Нейросети

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

Если действительно хочется попрактиковатся в нейросетях, то решать лучше простейшие задачи. Скажем так, однолинейные. Т. е. те задачи, где не пришлось бы создавать группу взаимосвязанных сетей (супермегасеть) к коим относится "собеседник". Для начала можно создать сеть по распознаванию образов: символов, фигур. Или сеть классифицирующую содержимое картинок. Если очень постараться, то можно создать сеть распознающую наборы циферок, кторые иногда требуется ввести при регистрации или скачивании файлов.
PM MAIL   Вверх
GoldFinch
Дата 23.12.2008, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 1
Всего: 26



sibedir, я читал литературку и как я понял, нейросеть задает разбиение пространства входных данных плоскостями на области, и на каждую точку входных данных выдает в двоичном коде область к которой эта точка принадлежит, разве не так?)
PM MAIL ICQ   Вверх
shara
Дата 23.12.2008, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 29.6.2004
Где: печенье?

Репутация: нет
Всего: 2



sibedir

читаем внимательнее
Цитата(sibedir @  23.12.2008,  13:43 Найти цитируемый пост)
Для начала можно создать сеть по распознаванию образов: символов, фигур. Или сеть классифицирующую содержимое картинок.
  --->> это уже все есть

а вот  Dmi3ev, дело говорит. для того чтобы что-то начать делать нужно сформулировать общие принципы


самое первое это формалицазция задачи которую мы хотим поставить сети. не в виде "анука ответь как мне на вопрос..." а конкртно: что будет подаваться на вход сети и что должно быть на выходе.
для этого:
  •  придумать способ подачи текста на вход сети.
    тоесть слово или целове предложение целиком нужно представить в виде виде сигнала(или сигналов) в диапазоне [1..0]. насколько я знаю нейронные  сети(во всяком случае известные мне) работают только с такой входной информацией

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

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


--------------------
   с точки зрения аэродинамики шмель не может летать  
PM MAIL   Вверх
sibedir
Дата 23.12.2008, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 5.12.2008
Где: Россия Алтайский кр. г.Барнаул

Репутация: нет
Всего: нет



Цитата

разве не так?)

Нет, не так. Нейросеть занимается тем, чем занимается той мозг. А точнее искуственная нейронная сеть - это имитация реальной биологической нейросети. Нейросети распознают номера машин с видеокамер не дорогах, прогнозируют погоду, предсказывют курсы валют.  Короче, можно сказать так, нейросеть с определенной долей вероятности подбирает правельный вектор выходных данных (Y1, Y2...Ym), для определенного вектора входных данных (X1, X2...Xn).

Добавлено через 3 минуты и 58 секунд
Цитата

Dmi3ev, дело говорит

Сори. Я просто подумал, что Dmi3ev говорит про разговорник на основе БД "Вопрос-ответ". 
PM MAIL   Вверх
GoldFinch
Дата 23.12.2008, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 1
Всего: 26



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

"нейросеть с определенной долей вероятности подбирает правельный вектор выходных данных (Y1, Y2...Ym), для определенного вектора входных данных (X1, X2...Xn)" 
да что вы говорите?) что оно получает входные данные и выдает выходные? да еще и с некоторой ошибкой?
а при чем тут нейросеть? про что угодно можно сказать что оно принимает входные даные и выдает выходные %)
а внутри-то у нее что происходит?

если вы говорите что я дал неправильное описание принципов работы нейросети - дайте правильное, объясните в чем ошибка, мне самому интересно
PM MAIL ICQ   Вверх
shara
Дата 23.12.2008, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 29.6.2004
Где: печенье?

Репутация: нет
Всего: 2



GoldFinchhttp://mechanoid.narod.ru/nns/classifier-text/index.html 

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


--------------------
   с точки зрения аэродинамики шмель не может летать  
PM MAIL   Вверх
shara
Дата 23.12.2008, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 29.6.2004
Где: печенье?

Репутация: нет
Всего: 2



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


--------------------
   с точки зрения аэродинамики шмель не может летать  
PM MAIL   Вверх
GoldFinch
Дата 23.12.2008, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 1
Всего: 26



shara, прочитал по диагонали. Никаких противоречий с тем что я говорил незаметил.

по статье
размер входного вектора по размеру словаря это чтото страшное...
использование частоты вхождения слов в словарь - не самый лучший подход, т.к. не учитывается корреляция слов в словаре и в тексте
да и вообще, сама постановка задачи сомнительна, тут больше подошло бы нечеткое распознавание, типа на выходе 
''спорт'' 35%, ''здоровье'' 55%, ''политика'' 1%, ''техника'' 3%, ''культура" 6%


PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0881 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.