Это как раз то, о чем я имею представление в рамках решаемой задачи и что буду объяснять товарищу "по несчастью". Но это уже при личном общении.
Незнаю чего вы напали на человека. ну хочет делать ИИ - пусть делает. Он просто ищет такого-же безумца чтобы вместе это всё мутить. Пусть пробует, пишет... это всяко лучше чем очередной унылый сайт-визитка. Есть где мозгу поработать, независимо от результата конечного. Имитировать работу мышления можно, но это, как известно, очень дорого по вычислениям и по объемам перерабатываемой информации. Как выше уже заметили, php - это совсем не тот инструмент который нужно использовать в этой задаче(только если для элементарщины типа валидации, проксирования интерфейса взаимодействия... ). Сам ИИ должен вероятно быть реализован на более подходящей технологии, висеть в оперативной памяти, иметь быструю кратковременную память, чтоб помнить контекст недавнего(хотябы) разговора/событий, постоянную память(ассоциативно-семантическая БД), блок анализа входящих данных, блок динамической логики(возможно он сам будет перепрограммировать работу этого блока, на основе новых данных), блок вывода (текст, озвучка...) того что он там надумал... и многое другое. Реализовать все это в рамках ОДНОГО php процесса - утопия, еще большая чем сама попытка создания ИИ. Так вот, вопрос - почему Пхп? Какова его роль в вашей схеме ИИ. Или все таки бекенд будет на чемто другом? Что с его памятью? Обычная реляционная субд или какая-то специализированная? Ведь это основы его работы. Если изначально сделать ставку на неправильные технологии - проект точно невзлетит. Даже если в основе будет сильная научная теория и хорошая мат. модель.
на сколько глубокий опыт? я про php и js сейчас. Добавлено спустя 44 секунды: и может есть познания еще в каких-либо языках программирования?
Формально, на PHP можно любой алгоритм. На деле оказывается, что чем дальше от веб, тем хуже он выглядит на фоне. Например, в нем нет нативной многопоточности. Вы не сможете одним процессом загрузить все 8 ядер. А еще отсутствие строгой типизации приводит к перерасходу памяти при большом количестве переменных. Массивы так же не должны быть слишком большими.
Насколько я понимаю, php хранит переменные в куче и при изменении типа переменной, происходит выделение нового места для её нового значения Код (PHP): <?php for ($i = 0; $i < 10000; $i++) { $v = 'v' . $i; $$v = 1; } for ($i = 0; $i < 10000; $i++) { $v = 'v' . $i; $$v = (int)$$v; } var_dump( memory_get_usage()); // int 1811320 Код (PHP): <?php for ($i = 0; $i < 10000; $i++) { $v = 'v' . $i; $$v = 1; } for ($i = 0; $i < 10000; $i++) { $v = 'v' . $i; $$v = (string)$$v; } var_dump( memory_get_usage()); // int 2771320
а кто засталяет постоянно менять тип переменной? Завел число - и работай с ним ТОЛЬКО как с числом и нет проблем. тоже и с другими типами. Во многих языках возможно изменения типа(приведением), даже при строгой типизации.
Я мыслю свободно. Обработки образов, как зрительных, так и более абстрактных - задача, лежащая в сфере нейросетей. Написать нейросеть на PHP можно, прецеденты были. А теперь о грустном - то, что ты описываешь, говоря, что это не ИИ, на самом деле - самый настоящий ИИ. Машина должна реально понимать слова. Реально осмысливать. Реально излагать свои мысли в ответ. Нейросеть, которая потянет реальный ИИ несколько отличается от нейросети для определения человеческого лица на фотках, увы. В частности - количеством слоев. Что, в свою очередь, можно трактовать как огромную требовательность к железу. Огромную. Нет, не 10 серваков. Не новый i7. ОГРОМНУЮ. Даже не так. ОГРОМНУЮ. Вот. И это таки еще не все. То, что я описал - банальщина, которую знает любой студент старших курсов профильного факультета. Внимание вопрос - почему это откровение известно всем, почему все так просто, но почему при этом ИИ не создал еще никто, включая гугл, у которого таки есть ОГРОМНЫЕ вычмощности и штат умнейших людей? Потому что то, что ты описываешь, подразумевает наличие сознания. Неотъемлемая часть сознания - такое понятие, как "внутренний диалог". Это эдакий демон (не в изотерическом смысле, а в техническом), который отвечает за непрерывный поток обработки данных. Все твои образы, все твое сознание, по факту - это ассоциативный граф. Каждый образ, каждое событие, каждый фрагмент данных - это узел графа. И все узлы каким-то образом соединены между собой, составляя твою личность. Когда ты читаешь слово "слоненок", у тебя в подкорке возникает целый каскад образов, так или иначе ассоциируемых с этим понятием. Информация, не закрепленная ассоциациями быстро забывается. Это основная причина, почему так тяжело запоминать теорию без хоть какой-то практики на долгий срок. Так вот, этот самый ассоциативный граф сегодня нереализуем. Просто напросто. У тебя в голове запросы к нему работают мгновенно. И ровно на такую глубину, на которую нужно. При этом твой внутренний диалог изолирован от твоего сознания. Ты обращаешься к нему только по мере надобности. В случае с машиной внутренний диалог будет прямо связан с сознанием и представлять собой поток мыслей душевнобольного человека. Бесконечное копание в ассоциативном графе, порождающее новые выводы и образы, порождающие новые выводы и образы, а когда остановиться - неизвестно. В итоге это невероятная самонаполняемая помойка. Но раньше окажется, что даже для осознания "что такое солнце?" машина тупо свалится в бесконечную рекурсию. Но даже это не основная проблема. Теоретически все, вышеописанное можно решить. Основная проблема - база ассоциаций. До сих пор четко не определено, что является базой для человеческого мышления. Фундаментом. Ведь в этом самом ассоциативном графе где-то же должны быть самые крайние узлы, лежащие над всем остальным клубком? Самые простейшие понятия, эдакие элементарные частицы в мире мыслей. Дедушка фрейд вот, считает, что этой базой является половой аспект. Кто-то считает, что инстинкты выживания. Кто-то считает, что просто первые эмоции или ощущения, полученные от банальных гормональных вбросов еще при развитии в утробе. А ответа точного нет. А это - это вот самое самое главное. Самое то, что определяет основу твоего понимания мира. Если ты не дашь машине такую основу, ты не сможешь объяснить ничего. Встань перед зеркалом и попробуй объяснить себе значение слова "да". А потом значение каждого следующего слова, которое используется в объяснении. Ты охренеешь, я гарантирую это. В этом монологе ты дойдешь чуть ли не до законов термодинамики, хотя казалось бы... И да. Таки прецеденты есть http://habrahabr.ru/post/225599/
Да, но в пхп это может происходить неявно. Например нельзя взять и поделить 7/2, чтобы остался инт. В си мы получим 3. Добавлено спустя 1 минуту 39 секунд: Чтение из ресурсов это вообще кошмар, нельзя прочитать 1 байт как есть. Он превратиться в строку с одним символом.
Какой у автора опыт разработки обучаемых нейронных сетей (платформа не имеет принципиального значения)?
Аргументация типа "корпорации миллиарды тратят, целые институты работают, без датацентра мощности не хватит" подходит только для ремесленников. Задача сделать мыслебота, а не ИИ. Задача не безумная, а инженерная. При обычном разговоре человек не тратит много времени на реплику-ответ (извлечение из памяти или обычные вычислительные задачи), а если вопрос сложный, то либо отказывается отвечать, либо говорит что обдумает. Также и бот. Сами условия применения бота диктуют, что все должно работать в рамках "человечного" (0-30 сек) времени отклика системы, мощности обычного компьютера (сервера) и веб-приложения (php) обязано(!) хватить. Я бы сказал, что надо сделать правильный выбор технологии с точки зрения возможности, простоты, дешевизны реализации, а переносить, оптимизировать, распараллеливать можно потом. Сейчас главный критерий - чтобы правильно работало. Сейчас никакой озвучки не требуется, только работа с вводимым текстом, для это php достаточно. Переписка конечно будет учитываться как контекст. Вообще у вас хороший комментарий, видно что задумались на тему.
Для тех спрашивает про нейросети - у меня задача имитация мышления, а не мозга (!). Да, вижу, можете мыслить свободно! Очень рад вашему сообщению! Правильные вопросы поднимаете про "понимание слов, излагать мысль в ответе, наличие сознания, внутренний диалог, рекурсия по графу, элементарные частицы в мире мыслей" - всё это будет присутствовать, в первых версиях конечно в крайне упрощенном виде, но главное что такие концепты включены в принцип работы системы изначально. Я знаю как объяснить значение слова "да" Кстати, это очень показательный вопрос, сразу видно вы задумывались или пробовали что-то в этой теме. Сейчас не требуется распознавание картинок и т.п. Только работа с вводимым пользователем текстом. Добавлено спустя 5 минут 30 секунд: Вы написали не мыслебота, а строчку кода. Но можно сойтись на том, что это чатбот, а не мыслебот. Но за попытку уже плюс.
О каких характеристиках идет речь? Как можно посчитать, например, производительность если программа еще не написана? Тут только умозрительно и на основе общего опыта. Это дискуссионный вопрос, поэтому не хочу в него ввязываться, тем более не являюсь специалистом в нейрофизиологии. Скажем так, для имитации мышления бота я не вижу необходимости имитировать мозг (деят.). А в ИНС я не вижу самого мышления (в привычном значении этого слова), а вижу вариацию функции сравнения, почти string compare
Не производительность, а количество операций для осмысления самого простого вопроса с ответом да/нет, например, и тенденцию роста количества операции при добавлении новых фактов, влияющих на ответ. Геометрическая прогрессия, например, ставит крест на проекте. Потому что миллион операций - это фигня, а миллион миллионов - совсем другое дело. А бывает, между ними всего один шаг.
Я понимаю к чему вы ведёте, это важно чтобы не упереться в ограничения железа когда возникнет необходимость мощного голого (без алгоритмов оптимизации) перебора, но считаю что рано думать об этом. Надо сделать чтобы правильно работало, а об экономии подумаем потом, и не важно что придется выбрасывать/переписать код, к этому надо быть готовым сразу.
меня вот больше интересует, он там говорит что знает как организовать такой процесс что бы компьютер (бот) "понимал", в виде кода. Добавлено спустя 37 секунд: или не виде кода?