Логіка свідомості. Частина 10. Завдання узагальнення

В принципі, будь-яка інформаційна система стикається з одними і тими ж питаннями. Як зібрати інформацію? Як її інтерпретувати? В якій формі і як її запам'ятати? Як знайти закономірності в зібраної інформації і в якій формі їх записати? Як реагувати на інформацію, що надходить? Кожний з питань важливий і нерозривно пов'язаний з іншими. У цьому циклі ми намагаємося описати те, як ці питання вирішуються нашим мозком. У цій частині йтиметься про, мабуть, самої загадкової складової мислення — процедурі пошуку закономірностей.

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

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

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

Різноманіття підходів до узагальнення створює відчуття, що процедура узагальнення – це щось збірне і що універсальної процедури узагальнення, мабуть, не существовует. Однак, мені здається, що універсальне узагальнення можливо і саме воно і властиво нашому мозку. В рамках описуваного в цьому циклі підходу вдалося придумати дивно красивий (принаймні мені він здається таким) алгоритм, який включає в себе всі класичні варіації завдання узагальнення. Цей алгоритм не тільки добре працює, але і найдивніше — він ідеально лягає на архітектуру біологічних нейронних мереж, що змушує вірити, що, дійсно, десь так працює і реальний мозок.

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

Філософсько-семантичний підхід до узагальнення понять
Філософія має справу з семантичними конструкціями. Простіше кажучи, виражає і записує свої твердження фразами на природній мові. Філософсько-семантичний підхід до узагальнення полягає в наступному. Маючи поняття, об'єднані певним видовим ознакою, необхідно перейти до нового поняття, яке дає більш широке, але менш конкретне тлумачення, вільний від видової ознаки.

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

У прикладі з годинником в самій назві наручних годинників містилася підказка для узагальнення. Досить було відкинути зайве слово і виходило необхідне поняття. Але це не закономірність, а наслідок семантики, побудованої «від зворотного», коли нам вже відомий результат узагальнення.

Завдання чистого узагальнення
У формулюванні Френка Розенблатта завдання чистого узагальнення звучить так: «В експерименті по «чистому узагальнення» від моделі мозку або персептрона потрібно перейти від виборчої реакції на один стимул (припустимо, квадрат, що знаходиться в лівій частині сітківки) до подібного йому стимулу, який не активує жодного з тих же сенсорних закінчень (квадрат у правій частині сітківки)» (Rosenblatt, 1962).

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


Пошук патерну у формі букви «T» в різних позиціях зображення (Fukushima K., 2013)

Ту ж задачу ми в нашій моделі вирішуємо за рахунок створення простору контекстів. Відміну від згорткових мереж в тому, хто до кого йде — «гора до Магомеду» або «Магомет до гори». У згорткових мережах при аналізі нової картинки кожен попередньо відомий образ варіюється по всіх можливих позиціях і «приміряється» до аналізованої картинці. У контекстної моделі кожен контекст трансформує (перемішати, повертає, масштабує) анализируемую картинку так як йому наказують правила, а потім «зрушена» картинка порівнюється з «нерухомими» заздалегідь відомими образами. Ця, на перший погляд, невелика різниця дає наступне дуже сильне различее в підходах і їх можливості.

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

Завдання класифікації
Є безліч об'єктів. Є попередньо задані класи. Є навчальна вибірка – набір об'єктів, про які відомо до яких класів вони належать. Потрібно побудувати алгоритм, який обґрунтовано відносить будь-які об'єкти з вихідного безлічі до одного з класів. В математичній статистиці завдання класифікації відносять до завдань дискримінантного аналізу.

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

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

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

В машинному навчанні, кластеризация потрапляє під навчання без вчителя.

Кластеризація – дуже спокуслива процедура. Зручно розбити безліч об'єктів на відносне невелику кількість класів і згодом використовувати не вихідні, можливо громіздкі описи, а описи через класи. Якщо при розбитті заздалегідь відомо які ознаки важливі для розв'язуваної задачі, то кластеризація може «робити акцент» на ці ознаки і отримувати класи зручні для подальшого прийняття рішень.

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

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

Навіть якщо ми вирішимо на що варто зробити акцент при кластеризації все одно залишиться питання про оптимальної деталізації. Справа в тому, що в загальному випадку немає апріорної інформації про те на скільки класів треба поділити вихідне безліч об'єктів.

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

Факторний аналіз
Припустимо, що ми маємо безліч об'єктів в якому всі об'єкти забезпечені означальними описами. Такі описи можна записати відповідними векторами. Далі припустимо, що ознаки мають кількісну природу.

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

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

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

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

Чудове властивість факторного аналізу — це те, що фактори можуть не тільки нагадувати вихідні ознаки, але і можуть виявитися новими неспостережуваними сутностями.

Якщо порівнювати узагальнення, які виходять через класи і які виходять через фактори, то умовно можна сказати, що виділяють класи «області», а фактори – «напряму».

Часто для віднесення об'єкта до класу дивляться не стільки на близькість об'єкта до центру класу, а на відповідність об'єкта параметрами розподілу, властивим класу (на цьому, наприклад, побудований EM алгоритм). Тобто якщо в передмісті міста стоїть тюрма, то людина якого ви зустрінете поруч з в'язницею швидше за все городянин, а не укладений, хоча відстань до центру міста значно вище, ніж до центру тюрми. «Області» варто розуміти з урахуванням цього зауваження.

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


Графіки розподілу зросту і ваги гравців американської футбольної ліги (NFL). Зверху гравці захисту, знизу гравці нападу. Кольорами виділені позиції гравців (Dr. Craig M. Booth).

Всі безліч гравців можна розбити на класи за їх ролі на полі. За параметрами «вага — ріст» можна виділити глобальні фактори (не показано) або фактори для кожного з класів.

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

При всій красі і зручності факторів є з ними і складнощі. Так само, як і з класами завжди стоїть питання скільки і яких факторів варто виділяти і використовувати. Звичайно, зручно, коли кілька перших головних компонент несуть майже всю інформацію, але на практиці таке буває нечасто. Наприклад, візьмемо 10 000 найбільш популярних фільмів, кілька мільйонів осіб і проаналізуємо оцінки, які вони поставили тим фільмам, що подивилися. Нескладно скласти кореляційну матрицю для фільмів. Позитивна кореляція між двома фільмами говорить про те, що люди, які оцінюють один фільм вище середнього швидше за все вище середнього оцінюють і іншого.

Проведемо факторний аналіз кореляційної матриці і потім обертання осей для зручної інтерпретації факторів. Виявиться, що суттєву роль відіграють перші п'ять-шість чинників. Вони відповідають найбільш загальним закономірностям. Це, звичайно, жанри фільмів: «бойовик», «комедія», «мелодрама». Крім того, виділяться фактори: «російське кіно» (якщо люди будуть з Росії) і «авторське кіно». Наступні фактори теж можна інтерпретувати, але їх внесок в пояснення дисперсії буде все менше і менше.

Перші п'ять найбільш істотних факторів пояснюють близько 30 відсотків загальної дисперсії. Це не особливо багато, враховуючи, що дисперсія – це квадрат середньоквадратичного відхилення. Відповідно, основні фактори пояснюють лише 17 відсотків загального розкиду оцінок. Якщо подивитися на інші чинники, то багато з них пояснюють всього лише десяті або соті частки відсотка загальної дисперсії і начебто несуттєві.

Але кожен дрібний фактор, як правило, відповідає якоїсь локальної закономірності. Він об'єднує фільми одного режисера, одного сценариста або одного актора. Виявляється, що коли ми хочемо щось зрозуміти про конкретний фільм, то основні фактори пояснюють свої 30 відсотків дисперсії і при цьому відсотків 40-50 дисперсії пояснюють один-два дрібних чинники, які несуттєві для загальної маси, але виявляються надзвичайно важливі саме для цього фільму.

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

Формування понять
Результатом узагальнення може бути формування понять з використанням яких будуються наступні опису. різні думки щодо того, що є основним принципом, за яким людина виділяє ті чи інші поняття. Власне, всі пункти цього перерахування мають до цього безпосереднє відношення.

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

Саме ідеальні поняття лежать в основі математики. Точка, пряма, площина, число, безліч – це ідеалізації об'єктів з нашого повсякденного досвіду. Математика вводить для цих понять формальну систему правил, яка дозволяє будувати твердження, перетворювати ці твердження, доводити або спростовувати їх істинність. Але якщо для самої математики базові поняття первинні, то для людини вони пов'язані з досвідом їх використання. Це дозволяє математикам не використовувати повний перебір при пошуках доказів, а здійснювати більш цілеспрямований пошук, заснований на досвіді, що лежить за ідеальними поняттями.

Логічна індукція
Логічна індукція передбачає отримання загального закону з безлічі приватних випадків.

Поділяють повну індукцію:

Безліч А складається з елементів: А1, А2, А3, ..., Аn.

  • 1 має ознаку В
  • 2 має ознаку В
  • Всі елементи від 3 n також мають ознаку В
Отже, всі елементи множини А мають ознаку В.

І неповну індукцію:

Безліч А складається з елементів: А1, А2, А3, ..., Аn.

  • 1 має ознаку В
  • 2 має ознаку В
  • Всі елементи від 3 k також мають ознаку B
Отже, ймовірно, Аk+1 і інші елементи множини А мають ознаку В.

Неповна індукція має справу з ймовірністю і може бути помилковою (проблема індукції).

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

По-друге, якщо ми методом індукції виявляємо якийсь ознака, властивий елементів якоїсь групи, яка описує певне поняття, то ми можемо використовувати цей ознака, як характеризує для віднесення до цієї групи.

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

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

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

Логічна індукція має багато спільного з семантичним узагальненням понять. Але семантичне узагальнення робить дещо інший акцент. Семантичний підхід говорить про ознаки, які складають опис поняття, і можливості відкидання їх частини для отримання більш загального формулювання. При цьому залишається відкритим питання — звідки мають взятися такі визначення понять, які дозволять виконати перехід до узагальнення «через відкидання». Неповна логічна індукція як раз і показує шлях формування таких описових ознак.

Завдання дискретизації
Маючи справу з безперервними величинами, часто потрібно перейти до їх опису в дискретних значеннях. Для кожної неперервної величини вибір кроку квантування визначається тією точністю опису, яку потрібно зберегти. Отримані в результаті інтервали дроблення об'єднують різні значення безперервної величини, ставлячи їм у відповідність певні дискретні поняття. Таку процедуру можна віднести до узагальнення з того факту, що об'єднання значень відбувається, виходячи з їх попадання в інтервал квантування, що говорить про їх певної спільності.

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

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

При використанні опису чого-небудь через фактори використовують набір факторних ваг. Факторні ваги приймають речові значення. Ці значення можна апроксимувати набором дискретних понять. При цьому для цих дискретних понять буде характерна система відносин «більше – менше».

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

Чимось схожа ситуація виникає при аналізі природної мови. Слова мови мають певні взаємозв'язки. Природа цих зв'язків може бути різна. Можна говорити про частоту спільного прояви слів у реальних текстах. Можна говорити про схожість їх смислів. Можна будувати систему відносин, засновану на переходах до більш загальним змістом. Подібні побудови призводять до семантичних мереж різного виду.


Приклад семантичної мережі (Автор: Знанибус — власна робота, CC BY-SA 3.0, commons.wikimedia.org/w/index.php?curid=11912245)

Кажуть, що в правильній постановці задачі міститься три чверті вірної відповіді. Дуже схоже, що це справедливо і для задачі узагальнення. Що ми хочемо бачити результатом узагальнення? Стійкі класи? Але де межі цих класів? Чинники? Які і скільки? Закономірності? Рідкісні, але сильні збігу або нечіткі, але підкріплені великою кількістю прикладів залежності? Якщо ми накопичили дані та провели узагальнення, то як з безлічі можливих понять вибрати ті, які найкраще підходять для опису конкретної ситуації? Що взагалі є узагальнення? Як виглядає система співвіднесення узагальнень між собою?

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

Олексій Редозубов

Логіка свідомості. Частина 1. Хвилі в клітинному автоматі
Логіка свідомості. Частина 2. Дендритні хвилі
Логіка свідомості. Частина 3. Голографічна пам'ять на клітинному автоматі
Логіка свідомості. Частина 4. Секрет пам'яті мозку
Логіка свідомості. Частина 5. Смисловий підхід до аналізу інформації
Логіка свідомості. Частина 6. Кора мозку як простір обчислення смислів
Логіка свідомості. Частина 7. Самоорганізація простору контекстів
Логіка свідомості. Пояснення «на пальцях»
Логіка свідомості. Частина 8. Просторові карти кори мозку
Логіка свідомості. Частина 9. Штучні нейронні мережі і мініколонкі реальної кори
Джерело: Хабрахабр

0 коментарів

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