Нещодавно я прочитав справді цікавий запис із блогу Google Research Blog, який розповів про нейронну мережу. В основному вони використовують цю нейронну мережу для вирішення різних проблем, таких як розпізнавання зображень. Вони використовують генетичні алгоритми для "еволюції" ваг аксонів.
Тому в основному моя ідея полягає в наступному. Якби я мав написати програму, яка розпізнає числа, я б не знав, як почати (я міг би мати якесь розпливчасте уявлення, але моя думка: це не банально, ні просто.), Але використовувати нейронну мережу я не повинен. Створюючи правильний контекст, щоб нейронна мережа розвивалася, моя нейронна мережа "знайде правильний алгоритм". Внизу я цитував дійсно цікаву частину статті, де вони пояснюють, як кожен шар має різну роль у процесі розпізнавання зображень.
Однією з проблем нейронних мереж є розуміння того, що саме відбувається на кожному шарі. Ми знаємо, що після тренувань кожен шар прогресивно витягує особливості зображення вищого та більш високого рівня, поки фінальний шар по суті не приймає рішення про те, що зображено на зображенні. Наприклад, перший шар, можливо, шукає краї або кути. Проміжні шари інтерпретують основні особливості, щоб шукати загальні форми або компоненти, наприклад, двері або крило. Кілька останніх шарів збирають їх у повні інтерпретації - ці нейрони активуються у відповідь на дуже складні речі, такі як цілі будівлі чи дерева.
Тому в основному моє запитання таке: Чи не могли ми використовувати генетичні алгоритми + нейронні мережі для вирішення кожної проблеми НП? Ми просто створюємо правильний еволюційний контекст і залишаємо «природі» знайти рішення.
Інцепціонізм: заглиблюючись у нейронні мережі
EDIT: Я знаю, що ми можемо використовувати Brute-Force або знайти неефективне рішення у багатьох випадках. Ось чому я намагаюся виділити Еволюціонуючі штучні нейронні мережі. Як я сказав у коментарі: Враховуючи достатній час та відповідну частоту мутацій, ми могли б знайти оптимальне рішення (або, принаймні, так я думаю).