Логіка свідомості. Частина 5. Смисловий підхід до аналізу інформації


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

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

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

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

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

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

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

Криптографія та зміст


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



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

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

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

Для перевірки значущості кожного з процесорів повинен мати доступ до словника можливих в повідомленні слів. Інший варіант – кожен з процесорів повинен мати свою копію словника і звертатися до неї для здійснення перевірки.

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

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

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

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

Зміст інформації


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

Введемо термін «поняття» – c (concept). Будемо вважати, що нам доступно N понять. Набір всіх доступних понять утворює словник


Будемо називати інформаційним повідомленням довжини k набір понять <img src=«habrastorage.org/files/08f/3dd/ac9/08f3ddac92334d70827e47cf9025c9a5.png» width=«99» висота=«25»/>, де ij∈C

Будемо вважати, що повідомлення може бути поставлена у відповідність його трактування Iint (interpretation). Трактування повідомлення – це також інформаційне повідомлення, яке складається з безлічі понять C.

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

Введемо поняття «суб'єкт» S. Для суб'єкта визначимо його пам'ять, тобто персональний досвід як набір відомої йому інформації, що одержала трактування. Інформація в купе з трактуванням може бути записана парою


Тоді пам'ять може бути записана як безліч всіх таких пар


Припустимо, що є вчитель, який готовий для кожного повідомлення надати його правильне трактування. Проведемо стадію початкового навчання, використовуючи можливості вчителя. Будемо запам'ятовувати повідомлення і трактування дані вчителем, як пари виду «повідомлення – трактування».

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

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

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

Будемо називати класи, отримані в результаті такої кластеризації, «контекстами» Context.

Сукупність всіх контекстів для суб'єкта S утворює простір контекстів
{Contextі| i=1...NContext}.

Для кожного i контексту можна задати набір правил трактування понять


Набір правил для контексту — це безліч пар «вихідне поняття — трактування», які описують всі перетворення, властиві контексту.

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


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


Тепер для будь-якої нової інформації I ми можемо для кожного контексту Contextj отримати трактування Ijint, застосувавши до вихідної інформації правила перетворення Rj. Далі для кожної отриманої трактування можна визначити її узгодженість з пам'яттю трактувань


Схема обчислень для одного контексту показано на малюнку нижче.

Обчислювальна схема одного контекстного модуля

Введемо ймовірність трактування інформації в контексті j


В результаті ми отримаємо трактування інформації I в кожному з K можливих контекстів та ймовірність цієї трактування


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

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

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

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

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


Обчислювальна схема визначення одного із сенсів в системі з K контекстами

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

Описаний підхід, що пов'язує інформацію та її сенс, містить кілька ключових моментів:
  • Інформаційні описи, до яких застосовується такий підхід, будуються з дискретних (номінальних) понять. Це визначається ідеологією зіставлення понять та їх трактувань в певному контексті.
  • Досвід дозволяє сформувати простір контекстів і правила трактування в цих контекстах. Відповідно, сенс може бути визначений суб'єктом тільки при наявності певного досвіду.
  • Оскільки досвід різних суб'єктів може бути різний, можуть розрізнятися і смисли, отримані в результаті сприйняття однієї і тієї ж інформації;
  • Інформація може бути спеціально підготовлена відправником таким чином, щоб максимізувати ймовірність появи у одержувача певного сенсу;
  • Не варто говорити про те, що інформація містить сенс незалежно від сприймаючого суб'єкта. Сенс – це результат «вимірювання» інформації, виконаний суб'єктом. До моменту визначення сенсу, для конкретного суб'єкта інформація містить трактування відразу у всіх контекстах, для яких виявилася ненульова ймовірність цих трактувань. Кожне «вимірювання» дозволяє побачити один з можливих смислів. Цей пункт, до речі, повторює копенгагенську трактування стану квантової системи та моменту вимірювання.


Проблема перебору


Описаний алгоритм визначення сенсу дуже тісно пов'язаний з питанням про рівність класів P і NP, який так само відомий як проблема перебору. Нестрого проблему перебору можна описати так: якщо є питання є відповідь на це питання, і можна швидко перевірити правильність відповіді (за полиномиальное час), то чи можна так само швидко знайти на це питання правильну відповідь (за полиномиальное час і використовуючи поліноміальну пам'ять).

Наприклад, припустимо, що у нас є таблиця простих чисел, якесь число і твердження, що визначений набір простих чисел є розкладанням цього числа. Щоб перевірити це твердження достатньо перемножити прості числа з пропонованого набору і подивитися, що вийде в результаті наше число. Але якщо ми захочемо просто знайти розкладання цього числа на прості множники, то зіткнемося з необхідністю перебору всіх простих співмножників. Із зростанням розрядності вихідного числа кількість простих чисел, які потрібно перебрати, зростає експоненціально. Відповідно, рішення, засноване на переборі, виявляється експоненціально складним по відношенню до лінійного зростання складності умови. Питання про рівність класів P і NP — це питання про те, чи існує для цієї та інших складних, заснованих на переборі, завдань алгоритми, здатні вирішувати їх за полиномиальное від складності вхідних даних час і пам'ять. Якщо будь-яку «складну задачу можна звести до „простої“, то класи рівні.

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

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

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

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

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

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

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

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

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

Фреймів


Описувана контекстно-смислова модель багато в чому вирішує ті ж завдання, що і концепція фреймів Марвіна Мінського («A Framework for Representing Knowledge», Marvin Minsky). Загальні завдання, які стоять перед моделями, неминуче приводять до схожих реалізацій. Описуючи фрейми, Мінський використовує термін «мікросвіти», розуміючи під ним ситуації, у яких існує певна узгодженість описів, правил і дій. Такі мікросвіти можна зіставити з контекстами в нашому визначенні. Вибір найбільш вдалого кадру з пам'яті і його пристосування до реальної ситуації також може бути багато в чому пов'язаного з процедурою визначення сенсу.

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

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

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

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

Семантична інформація


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

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

Приклад спектра можливих трактувань, що виникають при перекладі

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

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

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

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

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

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

Аудіальна інформація


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

Отриману запис сигналу можна розбити на тимчасові інтервали і виконати для кожного з них віконне перетворення Фур'є. В результаті вийде запис звукового сигналу у вигляді послідовності спектральних вимірів (малюнок нижче).


Приклад тимчасової розгортки спектра мовного сигналу

Введемо для тимчасових інтервалів кільцевої ідентифікатор з періодом NT. Тобто пронумеруємо перші NT інтервалів від 1 до NT. NT+1 інтервал знову пронумеруємо 1 і так далі. В результаті ми отримаємо однакові номери через кожні NT інтервалів.

Припустимо, що перетворення Фур'є містило NF частотних інтервалів. Це означає, що кожен спектральний завмер буде містити NF комплексних значень. Кожне комплексне значення замінимо на його амплітуду та фазу і виконаємо їх квантування. Амплітуду з NA рівнями квантування, фазу з NP рівнями.

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


Всього таких понять буде


Відповідно, набір понять C буде містити N елементів


Будь-який звуковий сигнал тривалістю не більше NT тимчасових інтервалів можна записати інформацію через перерахування таких понять.
, де ij∈C

З допомогою цих понять можна записати будь трактування.

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

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

Цим трансформаціям відповідають:
  • Зміна амплітуди;
  • Зсув по частоті;
  • Лінійне зміна тимчасового масштабу;
  • Зсув по часовій шкалі.


Введемо простір контекстів, покриває можливі поєднання трансформацій. Для кожного контексту можна створити правила переходів, тобто описати, як буде виглядати кожне з вихідних понять в контексті відповідного перетворення. Наприклад, при контексті зміни частоти на одну позицію вгору всі поняття отримають трактування, сдвигающую їх на одну позицію вниз. Чистий тон на частоті 1 кГц – це те ж, що і тон на частоті 900 Гц при контексті загального зсуву звучання вгору на 100 Гц. Аналогічно з іншими видами трансформацій.

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

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

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

Візуальна інформація


Розглянемо найбільш прості способи роботи з зображенням. Припустимо, що у нас є растрова картинка, яка складається з точок, для яких заданий колір. Переведемо зображення в чорно-біле, залишивши лише значення яскравості точок. Виконаємо виділення контуру зображення (наприклад, за допомогою алгоритму Кенні (JOHN CANNY, A Computational Approach to Edge Detection) (малюнок нижче)).


Результат виділення кордону

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

Припустимо, що розміри сітки, що ділить зображення на області, NX NY. Введемо набір понять C в який увійдуть поняття, що відповідають усім можливим поєднанням


Таких понять буде


Відповідно інформаційний опис зображення можна звести до перерахування відповідних понять
, де ij∈C

Тепер нас буде цікавити завдання інваріантного розпізнавання зображень. Задамося набором трансформацій, по відношенню до яких ми хочемо досягти інваріантності. Найбільш поширені на практики трансформації:
  • горизонтальний зсув;
  • вертикальний зсув;
  • поворот;
  • загальна зміна масштабу;
  • розтягнення/стиснення по X;
  • розтягнення/стиснення Y.


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

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

Для кожного контексту можна описати правила перетворення понять. Так, вертикальна лінія перейде в горизонтальну при повороті на 90 градусів, вертикальна лінія в позиції (0,0) стане вертикальною лінією в позиції (10,0) при горизонтальному зсуві на 10 позицій і так далі.

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

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

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

Частково описаний підхід реалізується в добре себе зарекомендували згорткових мережах (Fukushima, 1980) (Y. LeCun and Y. Bengio, 1995). Для отримання інваріантності до зсуву в згорткових мережах ядро згортки, що описує шуканий образ, приміряється до всіх можливих позиціях по горизонталі і вертикалі. Така процедура повторюється для всіх знайомих мережі образів з метою визначення найбільш точного відповідності (малюнок нижче). По суті цей алгоритм декларує «зашита» у неї апріорі знання про правила трансформації при горизонтальному і вертикальному зсуві. Використовуючи ці знання, він формує простір можливих контекстів, що реалізовується шарами простих штучних нейронів. Визначення максимального збігу при згортку для різних ядер аналогічно описаному нами визначення сенсу.


Рецептивные поля простих клітин, налаштованих на пошук обраного патерну в різних позиціях (Fukushima K., 2013)

Функція відповідності та умови вибору кращого контексту


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

Раніше ми навели для прикладу «жорстку» функцію відповідності, засновану на точному збігу описів. Для пам'яті інтерпретацій


Функція відповідності


Введемо міру порівняння описів Q. Міру, засновану на точному збігу можна записати


Функція відповідності прийме вигляд


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

Раніше ми вже говорили про можливості кодування описів через складання бітових масивів у фільтр Блума (Bloom, 1970). Зіставимо кожному поняттю зі словника розряджений бінарний код довжини m, що містить k одиниць.



Тоді кожному опису I, що складається з n понять, можна зіставити бінарний масив B, отриманий від логічного додавання кодів понять, що входять в опис.


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

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


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


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

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

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

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

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

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

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

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

0 коментарів

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