Информация
- В рейтинге
- 1 189-й
- Откуда
- Москва, Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность
Специализация
ML разработчик
Средний
От 200 000 ₽
Linux
Python
Docker
PyTorch
Scikit-learn
NumPy
Deep Learning
Обработка естественного языка
Алгоритмы и структуры данных
Математика
Не буду судить об идеи в целом, просто вкину пару вариантов и концептов реализации системы ЭГО:
С инженерной точки зрения система ЭГО должна быть легкая (ну и если проводить аналогии - то мы воспринимаем наши мысли без явной задержки, вроде как :)). Поэтому ее можно было бы реализовать как систему фильтров - набор векторов, обозначающие жизненные ценности агента в разных ипостасях. Например, «социальный вектор», «политический вектор» и т.д. Набор может быть любым.
Вектор строится как экспоненциальное скользящее среднее от векторов мыслей, которые привели к положительному фидбэку от среды, например. Так агент со временем будет укореняться в каких-то суждениях.
Фильтр мыслей происходит просто по какой-либо формуле с косинусным сходством мысли и векторов-якорей из ЭГО.
Иногда агент выбирает не лучшую мысль, а, например, одну из топ 5 случайно. Так можно имитировать любознательность.
Коэффициент сглаживания можно динамически менять в зависимости от «силы» положительности обратной связи от среды.
Было бы интересно рассмотреть концепт эволюции начального значения ЭГО через популяции и наследование (имитация эволюции популяции агентов). Также можно ввести концепт родителя и ребенка как дополнительный внешний фильтр действий агента - «новорожденный» агент унаследовал ЭГО популяции с какими-то случайными изменениями, и родитель (с предыдущей итерации эволюции) следит за тем, чтобы новый агент не убился в среде.
Возможно такая концепция ЭГО слишком проста, так как она оценивает смысл идей, а не их разумность. Так что может быть сознательное также должно обучаться генерировать более разумные мысли, например, на основе долгосрочной памяти :/
Спасибо за первый комментарий :)
В целом да, метод поиска «локтя» (knee-point) как раз и помогает автоматически находить этот порог релевантности (в примере на графике - примерно 0,3).
Алгоритм ищет точку, которая максимально далеко отстоит от прямой хорды, соединяющей начало и конец кривой. Всё, что правее этой точки, уже имеет заметно меньший score, поэтому мы её и берём за границу «ещё релевантно / уже шум».
При этом можно использовать и другие подходы. В анализе сигналов, например, часто применяют накопление энергии (суммируют квадраты значений) и берут объекты, которые содержат, скажем, 95 % общей энергии. Остальное считается шумом. Но тут снова появляется ручной порог (те самые 95 %), который нужно подбирать под каждый датасет. Мне это показалось менее рациональным, поэтому я и выбрал knee - он почти не требует дополнительных гиперпараметров и хорошо работает именно на выпуклой форме RRF-кривой.
Ещё раз спасибо, что написал первым!