Какие компоненты необходимы для самостоятельного программирования агента AI?

9

У агента ИИ часто считается наличие «датчиков», «памяти», «процессоров машинного обучения» и «реакции». Тем не менее, машина с этим не обязательно становится агентом искусственного интеллекта AI. Помимо упомянутых выше частей, есть ли какие-либо другие элементы или детали, необходимые для того, чтобы машина могла быть самопрограммирующимся агентом ИИ?

Например, в статье за ​​2011 год было заявлено, что решение задачи оптимизации максимизации интеллекта является обязательной функцией для процесса самопрограммирования, как указано ниже:

Говорят, что система выполняет случай самопрограммирования, когда она изучает некоторый элемент своей «когнитивной инфраструктуры», где последний определяется как нечеткий набор «критически важных для интеллекта» функций системы; а критичность к интеллекту функциональности системы определяется как ее «качество», рассматриваемое с точки зрения решения задачи оптимизации максимизации интеллекта многофункциональной системы.

Однако это описание «оптимизации интеллекта» расплывчато. Кто-нибудь может дать четкое определение или лучшее резюме для необходимых компонентов для самопрограммируемых агентов?

Этот вопрос относится к закрытой бета-версии 2014 года, а у претендента UID равен 23.

Mithical
источник
3
Вот последнее слово о самооптимизации: arxiv.org/abs/cs/0309048
NietzscheanAI
Спасибо за возрождение потерянного и хорошего контента в проигранной бета-версии. :-)
Петер - Восстановить Монику

Ответы:

5

На самом высоком уровне все, что требуется для того, чтобы различные системы, которые уже обсуждались, включали объекты кода. Если он может интерпретировать свою архитектуру исходного кода / модели из форматированных текстовых объектов, лежащих в их основе, может «понимать» их с точки зрения наличия полезной модели ML и изменять код в соответствии с его реакцией, то он может самостоятельно программировать.

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

Сложный компонент приходит на более низких уровнях. Нам не нужно изобретать новую концепцию, такую ​​как «датчик», нам нужно создавать очень, очень сложные датчики, которые соответствуют задаче понимания кода достаточно хорошо для обнаружения и написания улучшений.

Мэтью Грейвс
источник
2
Несмотря на то, что реакция информатики на коленях на заявления о системах, которые понимают их собственный код, часто заключается в том, чтобы сослаться на проблему остановки, оказывается, что подходам ИИ есть что сказать по этому поводу: cs.stackexchange.com/questions/62393/ …
NietzscheanAI
3
Правильно, проблема остановки - это бесполезная теорема для полного понимания всего возможного кода, но она не мешает иметь хорошее понимание большей части кода, с которым вы фактически сталкиваетесь.
Мэтью Грейвс
Реально проблема остановки действительно относится только к «токарным станкам», которые являются чисто математическими конструкциями, которые не могут существовать (например, для них требуется бесконечная лента для неограниченной памяти) и могут работать бесконечно долго. Реальные компьютеры имеют ограниченное количество памяти. Существуют способы написания программного обеспечения, которое может быть официально проверено (Idris, Coq). Использование зависимых типов. Ограничить размер массива (т. Е. <Количество или оперативной памяти). Не позволять программе изменять себя в памяти таким образом, чтобы это могло нарушить формальные доказательства. Нет бесконечных петель. Нет байтового цикла / делить на ноль. И т.д ...
Дэвид С. Бишоп