Нейронні мережі, генетичні алгоритми та інше... Міфи і реальність

продовження статті «Порівняння технологічних підходів до вирішення завдань з вилучення даних» розглянемо технології, найбільш часто згадуються в зв'язку з поняттям «штучний інтелект» в контексті пошукових завдань. На habrahabr.ru опубліковано безліч статей на цю тему, наприклад, про використання нейромереж пошуку Яндкса, в якій говориться, що «Фактично, формулу ранжирування пише машина (виходило близько 300 мегабайт)», про глибокому навчанні, імовірнісному програмуванні і т. д.

Хотілося б розглянути дану тему з точки зору філософії логіки, визначити межі та проблеми застосування і трохи поміркувати про можливості вирішення за допомогою нейронних мереж завдань машинного навчання?
В якості основи для наших міркувань ми можемо вибрати будь-яку з наведених нижче технологій. Зважаючи на те, що найбільш часто згадується нейронні мережі, їх і візьмемо. Набравши щось про нейромережі в пошуковому рядку, ми отримаємо величезну масу статей про «неймовірних» успіхи", досягнуті нейронними мережами. Це і повідомлення про нових апаратних рішеннях, наприклад, спінові електронні пристрої, і заяви IBM, про те що нейронні мережі з аналізу слів зможуть виявляти психічні хвороби, і «супергеройське» зір, і безліч інших чудес науки. Тому, спробуємо зробити короткий огляд поточного стану справ.

Насамперед, хотілося б виділити якийсь загальний пул технологій, об'єднаних під загальним терміном «системи штучного інтелекту». До нього з різним ступенем вірогідності можна віднести:
1. Нейронні мережі
2. Генетичні алгоритми
3. Методи імовірнісного програмування і т. д.

Можливо, що комусь здасться, що тут «в одну купу звалені абсолютно різні технології. Але це враження оманливе, бо незважаючи на очевидні відмінності, всі вони мають загальні риси:
1. Припускають навчання системи.
2. Основа бази знань — сукупність зразків в рамках класифікують ознак.
3. Припускають наявність надлишкових конкуруючих обчислень до досягнення одним із потоків заданого порогу вірогідності.
4. Результатом обчислення є як правило якісь прецеденти із заздалегідь встановленого списку.

Саме ж навчання характеризується наступними основними рисами:
1. Наявність апріорних знань, заданих у вигляді класифікують моделей
2. Наявність бази зразків для побудови «моделі світу» за класифікаційними ознаками.

Спробуємо для початку коротко описати відмітні риси кожного з вищеописаних підходів.

Нейронні мережі
Згідно Вікіпедії, та проститься посилання на неї, нейронні мережі являють собою систему сполучених і взаємодіючих між собою простих процесорів (штучних нейронів)». Красиво. Існують різні варіанти реалізації такі як байесовские мережі[1], рекурентні мережі[2] і т. д… Основна модель роботи: база образів-передатна функція-оптимізатор
Найбільшого поширення сьогодні набули обмежені машини Больцмана в багатошаровому варіанті. Багатошаровість, тобто глибина необхідна для подолання проблеми «XOR». Крім того, як показано Хінтоном, зростання кількості прихованих шарів нейронів дозволяє збільшити точність за рахунок наявності «проміжних» образів з мінімальним відзнакою в кожному шарі. При цьому, чим ближче проміжний шар до виходу, тим вище конкретизація образу.
Основна мета створення нейронних мереж і витікаюча з цього завдання навчання — це позбавлення від необхідності проміжних обчислень-висновків при аналізі профілю-матриці вхідних сигналів. Дана мета досягається за рахунок створення бази еталонних профілів, кожному з яких на виході має відповідати єдиний нейрон – осередок результуючої матриці. Кожному такому нейрона приписується певна трактування-результат.
Основна проблема як з точки зору розв'язуваної задачі, так і власне навчання – це зашумленість вступників на аналіз профілів-матриць збуджених нейронів вхідного шару. Тому одним з основних умов є наявність якісної навчальної вибірки. Якщо навчальна вибірка низької якості, то сильна зашумленість призведе до великої кількості помилок. Втім, і великий розмір навчальної вибірки може привести до того ж результату.
В якійсь мірі, роботу нейронної мережі можна порівняти з роботою безумовних рефлексів живих істот[3] з усіма відповідними вадами.

Такий підхід відмінно працює для завдань, де відсутня сильна зашумленість, чітка апріорна база еталонних образів. Основним завданням є вибір найбільш відповідного способу з вже існуючої бази знань. Завдання прогнозування, у даному випадку, будуть вирішуватися тільки шляхом екстраполяції існуючої історії без можливості створення нових сутностей тобто індукцією з недостатньою дедукцією.
Хтось може посперечатися що це не так. Але перш ніж відмітати вищесказане думка необхідно визначитись в тому, що мається на увазі під терміном «нова сутність»? Це ще один екземпляр в рамках існуючого простору класів-векторів обраної предметної області або створення нових областей-просторів? Теми порівняння чого-небудь з чим-небудь, що можна порівнювати і що не можна, проблеми змішування предметних областей буде присвячена одна з наступних статей.
Основний принцип навчання-індукція. Індукція утруднена хоча б початкової постановки завдання – позбутися від проміжних обчислень. Можливе заперечення про те, що процеси, пов'язані з індукцією, можуть відбуватися на етапі навчання — є слабкими, так як навчання будується на двох основних принципах:

1. Наявність самого факту появи нового профілю і його осмислення (що це не шум) та потребу в сторонньому експерту визначити відповідність профілю результату.[1]
2. Відсутність простого і надійного математичного апарату, чітко описує умови та правила породження нових вимірів, а, отже, і класів об'єктів.
3. Сама по собі процедура трасування – це процес узагальнення, пошуку нових трас маршрутів, нехай і з необхідністю контролю однозначності відповідності профілів і результатів.
Можливі міркування про асоціативних полях не додають нічого нового так як є лише розширенням існуючого дедуктивного підходу.

Генетичні алгоритми
Згідно все тієї ж Вікіпедії: «Генетческий алгортм (англ. genetic algorithm) — це евристичний алгоритм пошуку, використовуваний для рішення задач оптимізації і моделювання шляхом випадкового підбору, комбінування і варіації шуканих параметрів з використанням механізмів, аналогічних природного добору в природі».
Існує маса робіт таких авторів як Панченко Т. В[4]., Гладкова Л. А., Курейчика Ст. В[5] і т. д… Основи генетичного підходу» добре розкриті тут.
Існує безліч цікавих робіт, присвячених застосуванню генетичних алгоритмів. Наприклад, робота Плешакова В. Ю., Чуприною С. В.[6], стаття Іванова В. К. і Манкина П. І.[7], статті на хабре і ряд інших.
Одним з найбільш важливих переваг генетичних алгоритмів є відсутність необхідності інформації про поведінку функції і незначний вплив можливих розривів на процеси оптимізації. Також як і у випадку нейронних мереж, відбувається відхід від необхідності аналізу причинно-наслідкових зв'язків, шляхом побудови «підсумкового» образу — цільової функції. У цьому сенсі, з точки зору вирішення аналізу тексту, пошуку генетичні задачі вирішують такі ж задачі або дуже схожі, що і методи латентно-семантичного аналізу. При цьому, треба віддати належне, в питаннях семантичного пошуку та індексації текстів генетичні алгоритми мають набагато більші перспективи, порівняно методами латентно-семантичного аналізу.
З точки зору розпізнавання образів, з дуже сильною натяжкою цільову функцію можна порівняти з шаром вхідних нейронів і з очікуванням максимуму як аналога максимізації сигналу нейрона вихідного шару. Хоча правильніше було б говорити, що генетичні алгоритми використовуються для підвищення ефективності навчання нейронних мереж, але все ж не можуть розглядатися як конкуренція нейронними мережами. Завдання різні.
Загальний недолік — відсутність індукційних алгоритмів — присутня в повній мірі.

Методи імовірнісного програмування
Включення методів імовірнісного програмування в цю статтю є радше даниною моді, ніж необхідністю. Самі по собі стохастичні методи, які сьогодні гордо називають методами імовірнісного програмування відомі досить давно і, як і нейронні мережі, переживають черговий зліт. Хорошим прикладом стохастичного підходу є генетичні алгоритми. В інтернеті існує маса статей, наприклад «Ймовірнісний програмування – ключ до штучного інтелекту?». Тому докладно зупинятися на самих методах не має сенсу і перейдемо відразу до висновків.
Найбільш точне зустрілися з визначення того, що розуміється під імовірнісним програмуванням зустрічається тут: «компактний, композиційний спосіб подання породжують імовірнісних моделей і проведення статистичного висновку в них з урахуванням даних за допомогою узагальнених алгоритмів». Він не є чимось принципово новим, але є цікавим доповненням до методів машинного навчання.

Таким чином, сьогодні під терміном «ШІ» швидше мається на увазі підвид технологічних (алгоритмічних) підходів до розв'язання задач комбінаторики. Основними завданнями якого є достовірне відділення «статично значущих» по своїй суті, закономірностей та побудова на основі статистики образів об'єктів, без аналізу причинно-наслідкових зв'язків. Основні напрямки — це розпізнавання образів. Під образами можна розуміти зображення, звуки, сукупність симптомів хвороб і т. д.
Результатом навчання нейронної мережі або роботи генетичного алгоритму повинен бути якась виявлена закономірність, представлена у вигляді певної матриці (вектора). Безумовно, ця матриця або множина може постійно коригуватися за рахунок нових прикладів, але це не впливає на суть того, що відбувається. У будь-якому випадку, виявлене і очищена від шуму безліч може бути представлена у вигляді «відчужуваної логіки», яка являє собою якийсь «оптимальний» спосіб рішення задачі. Прикладом такої області може служити завдання автоматичної рубрикації текстів, але не з точки зору рознесення текстів за вже відомим рубриками, а власне саме створення рубрик. Їх анотування, а також автоматичне побудова різного роду онтологій.
Висновки
Народження сучасної математики, звичайно ж, процес довгий, тривалий століття. Але, спостерігаючи сучасні тенденції, напрошується невтішний висновок: все рухається по колу. Філософи стародавньої Греції не знали математики і математичних формул, оперували поняттями на рівні образів і побутових понять. Цього ставало недостатньо для організації більш складних і, найголовніше, абстрактних міркувань. Крім того, однією з основних задач математики є пошук логік, що дозволяють значно знизити витрати на розрахунки шляхом виведення компактних і оптимальних закономірностей. Все це послужило поштовхом для створення сьогоднішньої математики з її сучасними нотаціями. Початок проглядається не раніше XVI століття цілим рядом вчених таких як Декарт, Лейбніц і т. д…
Сучасні міркування і логіка того, що називають «штучним інтелектом» сьогодні проходять той самий шлях. І стан сьогоднішнього дня «веде» назад до витоків, так як в більшій мірі базується на тих же принципах пошуку загальних закономірностей скоріше в стилі Піфагора і Евкліда. Застосування логіки ІІ обмежена областями, які з точки зору людини можна було б назвати областями безумовних реакцій. Тигр повинен бути розпізнаний без всякого аналізу, відразу і швидко, до того, як з'їсть суб'єкта спостережень. До них відносяться більшість задач розпізнавання будь-яких образів, діагностування хвороб.
Дані алгоритми поки незрозуміло як, зважаючи на їх базової примітивності застосувати для розв'язання завдань, що вимагають породження якихось нових логік. Іншими словами, створення систем, які дійсно зможуть вирішувати завдання дозволу причинно-наслідкових зв'язків або породжувати нові гіпотези і вимірювання.
Народження математики, здатної до індукції ще попереду, а вибухове зростання інтересу до ІІ в основному пов'язаний зростанням обчислювальних можливостей, а не возникновениям нових алгоритмів. Але в результаті цього зростання все ж була досягнута точка, після якої рішення великого як за сферами застосування, так і вихідних даних, але відносно невеликого аналітичної складності обсягу завдань стала економічно доцільною. Але це все ж екстенсивний шлях розвитку.
Все вищесказане не є твердженням безперспективність нейронних мереж або аналогічних технологій. Обсяг завдань та їх цінність величезні. Це і допомога в розпізнаванні образів і допомогу фахівцям у різних областях при аналізі даних і незначних на перший погляд деталей. Гарним прикладом такого застосування є допомога ІЇ у встановленні діагнозів.

Як кажуть, далі буде. В наступних статтях передбачається поміркувати з точки зору «програмування» про базові поняття, без яких неможливо народження штучного інтелекту, що володіє розумовими здібностями. До них відносяться поняття як: онтології, об'єкти та їх властивості, якість, повнота. Що можна порівнювати, а що не можна. І що ж взагалі необхідно для цього. А також поміркувати про те, що необхідно, що б машина отримала здатність до індукції…

[1] Байєсова мережа (або байесова мережа, байєсова мережа довіри, англ. Bayesian network, belief network) — графічна імовірнісна модель, що представляє собою безліч змінних і їх імовірнісних залежностей по Байеса. Наприклад, байєсова мережа може бути використана для обчислення ймовірності того, що хворий пацієнт з наявністю або відсутністю ряду симптомів, грунтуючись на даних про залежності між симптомами і хворобами. Математичний апарат байєсових мереж створений американським вченим Джудой Перлом, лауреатом Премії Тюрінга (2011).
[2] Рекурентні нейронні мережі (англ. Recurrent neural network; RNN) — вид нейронних мереж, в яких є зворотний зв'язок. При цьому під зворотним зв'язком розуміється зв'язок від логічно більш віддаленого елемента до менш віддаленого. Наявність зворотних зв'язків дозволяє запам'ятовувати і відтворювати цілі послідовності реакцій на один стимул. З точки зору програмування в таких мережах з'являється аналог циклічного виконання, а з точки зору систем — така мережа еквівалентна кінцевого автомату. Такі особливості потенційно надають безліч можливостей для моделювання біологічних нейронних мереж[джерело?]. Однак більшість можливостей на даний момент погано вивчені у зв'язку з можливістю побудови різноманітних архітектур і складністю їх аналізу.
[3] Барський А. Б. «Логічні нейронні мережі» М.: Інтернет-Університет Інформаційних Технологій, 2007
[4] Панченко, Т. В. Генетичні алгоритми [Текст]: навчально-методичний посібник / під ред. Ю. Ю. Тарасевича. — Астрахань: Издательскии дім «Астраханскии університет», 2007.
[5] Гладков Л. А., Курейчик Ст. Ст., Курейчик В. М. Генетичні алгоритми: Навчальний посібник. — 2-е вид. — М: Физматлит, 2006. — 320 С… — ISBN 5-9221-0510-8.
[6] Плешакова В. Ю., Чуприна С. В. «Генетичний алгоритм для поліпшення якості семантичного пошуку за текстами наукових публікацій» cyberleninka.ru/article/n/geneticheskiy-algoritm-dlya-uluchsheniya-kachestva-semanticheskogo-poiska-po-tekstam-nauchnyh-publikatsiy
[7] Іванов В. К. і Манкін П. І. «Реалізація генетичного алгоритму для ефективного документального тематичного пошуку» Тверскоигосударственныитехническии
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.