Чи може нейронна мережа розробити концепцію відстані?


10

Уявіть гру, де це чорний екран, окрім червоного та синього пікселів. Давши цю гру людині, вони спершу побачать, що натискання клавіш зі стрілками перемістить червоний піксель. Наступне, що вони спробують - перемістити червоний піксель на синій піксель.

Дайте цю гру AI, вона випадковим чином перемістить червоний піксель, поки мільйон спроб пізніше випадково не перейде на синій піксель, щоб отримати нагороду. Якщо у ШІ було якесь поняття відстані між червоним та синім пікселями, воно може спробувати зменшити цю відстань.

Без фактичного програмування в концепції відстані, якщо ми візьмемо пікселі гри, чи можемо ми обчислити число (наприклад, "ентропія"), яке було б нижчим, коли пікселі знаходяться далеко один від одного, ніж коли близько? Він повинен працювати з іншими конфігураціями пікселів. Наприклад, гра з трьома пікселями, де один хороший, а другий - поганий. Просто для того, щоб нейронна мережа більше відчувала, як виглядає екран? Потім дайте мету NN, наприклад, "намагайтеся мінімізувати ентропію ради, а також намагайтеся отримати винагороду".

Чи є щось подібне до цього в сучасних дослідженнях?


Я не думаю, що ти б безпосередньо подав його на зображення і мав би знайти відстань ... Швидше ти би подав йому набір чисел, що представляють відстань, вертикальну відстань, горизонтальну відстань тощо
FreezePhoenix

@Pheo так, але вам доведеться подавати різні значення для кожного типу "гри". Тоді як я говорю, чи може ми мати якийсь глобальний тип значення, який є високим, коли пікселі згруповані разом, і низькі, коли пікселі розташовані один від одного?
zooby

"Наступне, що вони спробують - перемістити червоний піксель на синій піксель." можливо, це не стане "червоним" і "синім" - це частіше клізми, тому ви почнете збільшувати відстань до того, як синій піксель помітить вас.
Лі

Відповіді:


1

Відповідь

Я збираюся взяти ваше запитання за номіналом і заглиблюватися в цю тему.

Так вони можуть. Типовий людський розум може. Але врахуйте людський розум. Мільйони, якщо не мільярди нейронів. Насправді відстань можна розглядати як людську концепцію, просто теорію, розроблену з взаємодій зі світом.

Тому, даючи рік чи два, з тоною нейронів на руці, ви могли б повторити цей сценарій. Тобто, якщо ваш комп’ютер такий же паралельний, як і людський розум. Коротке пояснення полягає в тому, що людський розум дуже паралельний.

Однак було б простіше обчислити відстань за допомогою програми, а не AI, і просто подати результат на AI, який би приймав рішення.

Поміркуйте, скільки часу ви витратили на перегляд екрана. Якщо ви можете сказати (приблизну) відстань між двома пікселями, то може зробити і Нейронну мережу, як і ви. Однак додайте в рівняння кількість часу, який ви провели живим та навчанням, і це стане катастрофою.

Подальше читання

Мозок людини паралельний

Це результат того, що всі нейрони в мозку людини незалежні один від одного. Вони можуть виконувати справжні одночасні дії, тим самим полегшуючи дію інтерпретації зображень і таке набагато простіше, оскільки блоки нейронів можуть «думати» незалежно від операцій інших, обмежуючи те, що було б «відставанням», до мізерної суми.


1

Ви можете створити AI, щоб "бачити" людину. Як ви сказали, даючи людині ключі, він буде натискати випадковим чином. Він просто повинен знати, які клавіші натискає, що наближає його до інших об'єктів на екрані. Я думаю, що основою ШІ є розпізнавання об'єктів. Я б спробував створити сценарій для відображення екранні об’єкти гри. У Python є юридичні приклади.

Я б спробував пройти такий шлях:

  • Дайте зрозуміти AI, що натискаючи стрілки або WASD, і це в контексті GAME, об'єкт, який переміщує пікселі відповідно до напрямку, представляє головного автора (програвача).

  • Паралельно: картографуйте всі межі регіону та індексуйте різні об’єкти в межах цього регіону, щоб автоматично мати домен координати та відстань до об'єкта. AI потрібно ДЕЙСТВАТИ (потік) гру та через зображення, щоб класифікувати об'єкти. Чи ти розумієш, що я маю на увазі?

  • Паралельно: AI потрібно знати про всі тексти та інформацію, що є на екрані (все відображено, пам’ятаєте?). Вам потрібно зрозуміти, коли текст змінюється чи відбувається щось інше. Наприклад: щоразу, коли він повертається до початкового положення кожної фази, коли він має підрахунок, що відбувається, коли cout досягає нуля або загального числа, що генерує інший тип змін.

  • Йому потрібно зрозуміти, що повторюється при кожному "відродженні". Вам також потрібно зрозуміти, що таке "respawn". Можливо певне положення карти на кожній карті, яку вона повертає, коли число на екрані закінчується. Або коли він зустрічається з певним типом об'єкта (відображений на карті)

Якщо чесно, якщо ви хочете створити супер розумного робота, ви можете пройти всі кроки, які проходять через голови різних людей, або найкращих людей, або правила кожної гри. Але іноді простіше побудувати конкретних ботів для виконання конкретних завдань. Це залежить від того, що ви хочете зробити


Він не питав, як ти це зробиш, а скоріше ти можеш це зробити.
FreezePhoenix

Зробити це можна кількома способами. Я пройшов шлях, який би взяв для створення шаблону. Це не теорія, це процес, який може охоплювати інші процеси відповідно до еволюції ШІ.
Гільхерм І. А.

1

Те, що ви згадуєте там, є ідеальним прикладом для планування шляху , який широко досліджено в ШІ.

Будь ласка, шукайте алгоритм зірки та як його покращити за допомогою нейронних мереж :)


1

Ми можемо розбити проблему наступним чином:

<х0,у0,х1,у1>(х0-у0)2+(х1-у1)2

<х0,у0,х1,у1>

Звичайно, немає ніяких причин робити це в двох окремих нейронних мережах, тому ми можемо просто поєднати дві кінцеві в кінці моделі, що сприймають зображення як вхід, а відстань як вихід.

Ця модель повинна бути навчена на маркованих даних, однак вам потрібно буде або генерувати дані самостійно, або зображати етикетки.

Але якби ви хотіли, щоб воно засвоїло поняття про закриття відстані менш контрольованим способом, вам знадобиться використовувати підсилення. У цьому випадку вам доведеться налаштувати середовище, що стимулює агент зменшити відстань. Це може бути так само просто, як і отримати винагороду, якщо дія зменшить відстань.

Іншим підходом було б стимулювання агента за допомогою майбутньої винагороди. Тобто, винагорода приходить не просто від результатів наступного негайного стану, але також є внески наступного можливого стану, і наступного після цього, і так далі. Це ідея Deep Q-Learning, і я реалізую простий приклад (дуже подібний до того, що ви описуєте) у цьому зошиті .

Отже, тепер питання: чи реалізувала ця реалізація щось інше, ніж випадкове переміщення, поки не піде шлях до успіху?

У своєму прикладі ви говорите про винагороду агента, коли він приземлиться на ціль. Але в тому, що я описав, він отримав нагороду, рухаючись ближче до мети (або через Q-функцію, або безпосередньо з оточення). Це можна зробити, вивчивши деяке абстрактне уявлення про відстань (що можна проілюструвати у контрольованій версії).

Коли людина вчиться цьому, це з тієї ж точної причини: людина отримує нагороду за рух у цьому напрямку через відчуття майбутніх нагород.

Я б сказала, що, маючи достатню кількість навчальних занять і даних, навчальне підкріплення може засвоїти цю концепцію легко. Що стосується інших нагород, які є на дошці (наприклад, "мінімізуйте ентропію ради, а також намагайтеся отримати винагороду"), вам потрібно подумати про те, про що ви просите. Ви б хотіли, щоб агент мінімізував відстань або максимізував нагороду? Тому що, як правило, це не може зробити і те, і інше. Якщо ви шукаєте баланс між ними, ви дійсно просто визначаєте нагороду, щоб також враховувати відстань.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.