Я чувствую, что многие неудачи в области ИИ очень сильно влияют на трепет и не дают практического понимания того, как работают эти системы. Хотя это действительно круто, это не волшебство. Также приятно и полезно посмотреть на ИИ таким, какой он есть.

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

Он создал эту программу на Python, где агент использует Q-обучение. Принцип работы Q-обучения заключается в том, что оно отслеживает окружающую среду, действия и вознаграждения. Люди сравнивают это с тем, как учатся животные или как учатся дети. Эта конкретная программа предназначена для навигации по небольшой сетке, и ее цель — достичь конца сетки.

Верхняя часть env представляет собой сетку от S до G, но в виде двух массивов внутри большего массива, представляющих каждое пространство. Я думаю, что представление ASCI в ChatGPT больше похоже на 2×2, но, увы.

Действия довольно простые. Вверх, вниз, влево и вправо. Это напоминает мне Boebot, робота с питанием от BASIC, который у нас был в школе. Удивительно, но агент гораздо сильнее Бообота в его лучшие дни, потому что он умеет учиться. Как терминатор.

я и бобот, 2007

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

Это представление не очень хорошо помогает нам узнать, что происходит. Я понимаю, что каждое место в таблице Q — это состояние-действие, а каждое число — это рейтинг вознаграждения, но что это на самом деле означает?

Я изменил программу, чтобы она распечатывала окончательную таблицу Q, но в более наглядном формате, чтобы было проще увидеть, что происходит. Я распечатал состояние + действие с наградой в виде списка. Я также дал ему имя для каждого места в сетке, чтобы в списке не было пустых мест, поскольку у нас не было бы сетки для справки.

Что интересно, вы можете полностью увидеть, как это работает, но я также заметил, что оно сломано. Этот простой пример на самом деле не очень хорошо обучается, и ChatGPT согласен, что он, вероятно, нуждается в корректировке. Глядя на таблицу Q, я бы никогда не догадался.

Это должно работать так: агент должен использовать таблицу Q как своего рода карту для своих решений, историю «Я сделал x и получил y» или, в данном случае, «Я поднялся из S, и это было здорово!» Мне нравится думать об этом как о человеке, исследующем пещеру, рисующем карты, заходя в тупик и возвращаясь назад. Таблица Q, по сути, такова: она обновляется по мере каждого развития.

Вот обновленная программа.

Оригинально опубликовано на сайте https://brian.casa 26 августа 2023 г.