Это пост-вопрос, в нем я попробовал сформулировать основные проблемы нейросетей, решение которых может сделать прорыв в технологии ИИ. В основном речь о сетях, что работают с текстом (GPT, BERT, ELMO и т.п.). Как известно, хорошая формулировка задачи — половина ее решения. Но сам я эти решения найти не могу. Надеюсь на «помощь зала», так как тут много тех, кто сталкивается с такими же проблемами и возможно «видит» их решение.
Итак.
1. Самое казалось бы простое, но нейросеть не учитывает факты. Она учится на примерах, но не может к ним обращаться в ответе. «Это было вчера» — почти невозможный ответ. Нейросеть выучивает общие факты, но не знает о них. На когнитивном языке это называется семантической и эпизодической памятью соответственно.
Решение может есть простое, но нейросеть — классификатор, а прецеденты не могут быть классами, противоречие. Очень часто нужен именно такой ответ от ботов, они очень плохо работают с фактами, если речь не о шаблоном «поставь будильник на… — на сколько ты по ставила будильник?». Проблема усугубляется тем, что всегда есть исключения, которые не может учитывать сеть, если у нее не было достаточно примеров с исключением. А если примеров достаточно — это не исключение. В общем, NN может сказать, что это шляпа, но не может сказать, какая шляпа моя (был только один пример).
2. «Здравый смысл». Известная проблема, названная даже «темной материей ИИ». Есть интересные подходы к решению, например, в этой статье, где описывается попытка совместить символический (логичекий) ИИ и нейросетевые подходы. Но это попытка пойти назад, вместо того чтобы пойти вперед. Проблема же в том, что «здравый смысл» — это неявные знания о мире, которых не было в обучающей датасете. Такие банальности никто даже не произносит, их узнают в 4-6 лет, когда еще не умеют писать. Громкие неудачи проектов Компрено и Cyc показывают, что описать явно все факты невозможно. Они как-то выводятся налету. Хороших идей решения пока нет, кроме ограничения словаря. Например, «школьник» должен «наводить» такие «фильтры» на лексикон ответа, чтобы в выбираемых вариантах не было слов «армия» или «женитьба», если речь идет о нем самом, а не о присутствии на свадьбе старшего брата. Как этой сделать в NN не (мне) понятно.
3. Не менее важной проблемой, а возможно связанной с предыдущей — это проблема построения рассуждений. Нейросети не умеют делать силлогизмы, то есть простейшие выводы с последовательными рассуждениями (промежуточными выводами). Эта же проблема с другой стороны — невозможность преследовать цель рассуждений или хотя бы придерживаться определенного смысла. GPT может построить текст новости на заданную тему, но ей бесполезно говорить, «напиши новость, что бы очернить Х». В лучшем случае она напишет про очернение другими, причем в явном виде, а не как мы, люди, между строк. Вывод силлогизма — это тоже цель — надо соотносить предпосылки с выводом. Иметь его ввиду при первом же высказывании (посылке). Пока даже не понятно, «с какой стороны » это заложить в сеть. Может кто знает?
4. И еще одна проблема, которая даже не темная материя, а черная дыра ИИ. Это аналогии и метафоры. ИИ все понимает только буквально. Ей бесполезно говорить, «похожий на Х». Сеть может дополнить описание, но не описать аналог. Может быть это просто проблема соответствующего датасета. Но мне кажется она глубже и показывает корневой «недостаток» нынешних архитектур ИИ как и п.3. Наш язык сплошь метафоричен, отсюда же произрастает «проклятие лингвистов» — омонимия. Одни и те же лексемы через метафоры используются в куче разных «концептов». И мы легко в этом ориентируемся. Частично это решается в задаче определения интентов, но это опять же определение «темы», а не всего концепта, состоящего не только из названия интента и связанных с ним шаблонов ответов как в ботах.
Пока этих четырех хватит для обсуждения, хотя есть более частные, но не менее важные проблемы в построении ботов, например. Достаточно пообщаться с Алисой и они становятся интуитивно очевидными. Но вот с формулировками их не так все просто — догадаться в чем проблема значит догадаться и о том, как ее решить. С этим труднее. Спасибо за конструктивные комментарии по теме.
Итак.
1. Самое казалось бы простое, но нейросеть не учитывает факты. Она учится на примерах, но не может к ним обращаться в ответе. «Это было вчера» — почти невозможный ответ. Нейросеть выучивает общие факты, но не знает о них. На когнитивном языке это называется семантической и эпизодической памятью соответственно.
Решение может есть простое, но нейросеть — классификатор, а прецеденты не могут быть классами, противоречие. Очень часто нужен именно такой ответ от ботов, они очень плохо работают с фактами, если речь не о шаблоном «поставь будильник на… — на сколько ты по ставила будильник?». Проблема усугубляется тем, что всегда есть исключения, которые не может учитывать сеть, если у нее не было достаточно примеров с исключением. А если примеров достаточно — это не исключение. В общем, NN может сказать, что это шляпа, но не может сказать, какая шляпа моя (был только один пример).
2. «Здравый смысл». Известная проблема, названная даже «темной материей ИИ». Есть интересные подходы к решению, например, в этой статье, где описывается попытка совместить символический (логичекий) ИИ и нейросетевые подходы. Но это попытка пойти назад, вместо того чтобы пойти вперед. Проблема же в том, что «здравый смысл» — это неявные знания о мире, которых не было в обучающей датасете. Такие банальности никто даже не произносит, их узнают в 4-6 лет, когда еще не умеют писать. Громкие неудачи проектов Компрено и Cyc показывают, что описать явно все факты невозможно. Они как-то выводятся налету. Хороших идей решения пока нет, кроме ограничения словаря. Например, «школьник» должен «наводить» такие «фильтры» на лексикон ответа, чтобы в выбираемых вариантах не было слов «армия» или «женитьба», если речь идет о нем самом, а не о присутствии на свадьбе старшего брата. Как этой сделать в NN не (мне) понятно.
3. Не менее важной проблемой, а возможно связанной с предыдущей — это проблема построения рассуждений. Нейросети не умеют делать силлогизмы, то есть простейшие выводы с последовательными рассуждениями (промежуточными выводами). Эта же проблема с другой стороны — невозможность преследовать цель рассуждений или хотя бы придерживаться определенного смысла. GPT может построить текст новости на заданную тему, но ей бесполезно говорить, «напиши новость, что бы очернить Х». В лучшем случае она напишет про очернение другими, причем в явном виде, а не как мы, люди, между строк. Вывод силлогизма — это тоже цель — надо соотносить предпосылки с выводом. Иметь его ввиду при первом же высказывании (посылке). Пока даже не понятно, «с какой стороны » это заложить в сеть. Может кто знает?
4. И еще одна проблема, которая даже не темная материя, а черная дыра ИИ. Это аналогии и метафоры. ИИ все понимает только буквально. Ей бесполезно говорить, «похожий на Х». Сеть может дополнить описание, но не описать аналог. Может быть это просто проблема соответствующего датасета. Но мне кажется она глубже и показывает корневой «недостаток» нынешних архитектур ИИ как и п.3. Наш язык сплошь метафоричен, отсюда же произрастает «проклятие лингвистов» — омонимия. Одни и те же лексемы через метафоры используются в куче разных «концептов». И мы легко в этом ориентируемся. Частично это решается в задаче определения интентов, но это опять же определение «темы», а не всего концепта, состоящего не только из названия интента и связанных с ним шаблонов ответов как в ботах.
Пока этих четырех хватит для обсуждения, хотя есть более частные, но не менее важные проблемы в построении ботов, например. Достаточно пообщаться с Алисой и они становятся интуитивно очевидными. Но вот с формулировками их не так все просто — догадаться в чем проблема значит догадаться и о том, как ее решить. С этим труднее. Спасибо за конструктивные комментарии по теме.