Google надає математичні рівняння алгоритму мови. Вона навчилася вирішувати нові.

Google надає математичні рівняння алгоритму мови. Вона навчилася вирішувати нові.

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

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

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

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

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

999999999999999 – 999999999999998

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

Google надає математичні рівняння алгоритму мови. Вона навчилася вирішувати нові.

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

Зображення: Вікіпедія
Зображення: Вікіпедія

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

Зображення кредит: ResearchGate
Зображення кредит: ResearchGate

Простіше кажучи, речі стають дещо складнішими.

Уявіть собі, що ви зробите копію Оксфордського словника англійської мови, коли ви можете представити його вміст лише двома буквами алфавіту. Комп'ютери можуть досягти цього, оскільки алфавіти містять лише кінцеве число символів, і вони вимагають лише порядку та подання. Реальна рядок чисел, з іншого боку, є нескінченною серією. Жодна людина чи комп'ютер не може записувати і відображати всю безкінечну серію або ця серія стане кінцевою. Якщо ви розумієте, що це неможливо, неважко уявити, чому комп'ютер може обчислити лише частину цього числа. Зрештою, вона повинна розуміти всі ці цифри у власній двійковій системі. Де ми бачимо 9, комп'ютери бачать 1001. Подивіться, як комп'ютери бачать число 85:

Зображення: Бретт Баррі
Зображення: Бретт Баррі

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

Це запобігає відображенню комп'ютерів усіх можливих номерів у рядку чисел - те, що ви відчули в базі 10, якщо ви коли-небудь стикалися з часткою в одну третину. Ви знаєте, що сума 1/3 + 1/3 + 1/3 дорівнює 1, але якщо ви представляєте 1/3 як десяткову, то вона стає 0.3333333 і продовжується нескінченно. На відміну від дробового представлення 1/3, десяткова версія додає до 0.9999999 (і т.д.) і ніколи не досягає 1, тому що десяткова система цифр не може представляти частку 1/3 з необхідною точністю.

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

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

Так само, як дробові позначення (наприклад, 1/3) можуть допомогти нам подолати обмеження бази 10, інженери створили спеціальну логіку, щоб допомогти машинам подолати більш проблемні обмеження бази 2. Однак обмеження обробки процесорів, більша кількість представницьких представників потрібні цифри, а велика кількість десяткових знаків з нескінченними поданнями в двійковій системі об'єднує проблему без ідеального рішення.

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

Створюючи метод навчання штучного інтелекту, який визначає здатність алгоритму підходити до обчислень, використовуючи власну абстраговану методологію, Google створив основу для досягнення набагато більш високого рівня обчислювальної точності в майбутньому. З мовною моделлю Трансформер, що приземляє першу премію за точність з воріт, навіть якщо їй вдалося отримати лише половину питань, це дає підказку, яка вказує на напрямок моделі, яка колись зможе досягти ідеальної точності у всьому спектрі математики комп'ютери вирішують з недосконалістю. Враховуючи набагато більшу оцінку Transformer для вирішення рівнянь за допомогою інтерполяції (76%), підвищена точність може бути отримана за допомогою комбінації алгоритмічних змін і більш значного набору навчальних даних.

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

Найкращий кредит: Getty Images

Читати далі

Нова серія Radeon RX 6000 від AMD оптимізована для бойового ампера
Нова серія Radeon RX 6000 від AMD оптимізована для бойового ампера

AMD сьогодні представила свою серію RX 6000. Вперше з моменту придбання ATI в 2006 році, існуватимуть певні переваги в роботі графічних процесорів AMD на платформах AMD.

Нові відомості про Intel Rocket Lake: Сумісність із зворотною стороною, Xe Graphics, Cypress Cove
Нові відомості про Intel Rocket Lake: Сумісність із зворотною стороною, Xe Graphics, Cypress Cove

Intel опублікувала трохи більше інформації про Rocket Lake та його 10-нм процесор, який було перенесено назад на 14 нм.

RISC-V навшпиньки до основного потоку завдяки платформі розробників SiFive, високопродуктивний процесор
RISC-V навшпиньки до основного потоку завдяки платформі розробників SiFive, високопродуктивний процесор

RISC V продовжує проникати на ринок, цього разу завдяки дешевшій та повнофункціональнішій тестовій материнській платі.

Intel випускає нові мобільні графічні процесори Xe Max для творців вмісту початкового рівня
Intel випускає нові мобільні графічні процесори Xe Max для творців вмісту початкового рівня

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