(1 частина)
ЩО ТАКЕ НЕЙРОМЕРЕЖА
Нейромережі є потужним інструментом штучного інтелекту, який здатний моделювати та симулювати роботу людського мозку. У цій статті ми розглянемо, що таке нейромережі, їх практичне застосування сьогодні, а також потенціал, який вони несуть для людства та бізнесу.
Історія розвитку нейромереж починається ще з 1940-х років, коли вчені почали моделювання нервової системи. Однак справжній прорив відбувся у 2010-х роках з розвитком Machine Learning (машинного навчання), глибоких нейромереж відомих як Deep Learning (глибоке навчання). Цифровізація, BigData та можливість обробляти великі масиви даних забезпечили потужний ресурс для машинного навчання. Використовуючи великі набори даних та потужні обчислювальні ресурси, нейромережі стали здатні досягати неймовірних результатів у таких областях, як обробка природної мови, розпізнавання образів, аналіз даних, тощо.
Machine Learning - це підгалузь штучного інтелекту, яка вивчає алгоритми та моделі, що дозволяють комп'ютерам самостійно вчитися та вдосконалювати свою продуктивність на основі даних, без явного програмування.
Система рекомендацій фільмів на основі особистих вподобань - приклад машинного навчання. Комп'ютерна програма аналізує історію перегляду, оцінки та взаємодію користувача з платформою, щоб зрозуміти його вподобання.
Наші “лайки”, кліки, перемотки, повторні перегляди - це вхідні дані машинного навчання на яких, алгоритм формує профіль ваших уподобань та пропонує нам матеріали на які ми реагуємо.
Всі помічали - варто тільки в пошуку задати “ремонт пилосос”, як з кожного “утюга” нам пропонується купити пилосос. Старший брат слідкує за нами. І нашим старшим братом є машинне навчання. Ми вже давно до цього звикли.
Deep Learning (глибоке навчання) - це підгалузь машинного навчання, яка використовує нейромережі зі значною кількістю шарів для автоматичного вивчення представлення даних. Глибоке навчання дозволяє комп'ютерам розуміти та аналізувати складні залежності, виявляти приховані закономірності та здійснювати передбачення на основі великого обсягу даних. Різниця Deep Learning та Machine Learning - в складності завдань. Deep Learning виявляє складніші залежності та використовую значно більше даних для побудови закономірностей.
Приклад практичного застосування глибокого навчання - автоматичне водіння автомобілів. Глибоке навчання застосовується аналізувати дані з сенсорів, таких як камери, радари та лазерні сканери, щоб розпізнавати дорожні знаки, перешкоди, пішоходів та інші транспортні засоби.
Нейромережа - це практичний механізм, який забезпечує Deep Learning. IBM визначає нейромережі як одну з технологій Machine Learning та як основну технологію, яка забезпечує Deep Learning. https://www.ibm.com/topics/neural-networks
Пропоную таку метафору: транспорт, як поняття усіх засобів для пересування - це машинне навчання. Велосипед як вид транспортних засобів - це глибоке навчання як частина машинного навчання, а колесо як ключовий компонент велосипеда - нейромережа, як приклад практичного застосування механізму глибокого навчання.
ПРАКТИЧНЕ ЗАСТОСУВАННЯ
Машинне навчання та нейромережі вже не перший рік інтегровані в ІТ та технологічні рішення. Компанії Google, Microsoft, Facebook впроваджують ці технології в великих масштабах у своїх продуктах. Одним із лідерів розвитку технологій є компанія IBM. В свої рішення ІВМ давно впроваджувала технології Machine Learning, на базі якого працює IBM Watson та багато інших інноваційних рішень ІТ гігантів.
Справжнім сенсацією стала нейромережа ChatGPT - мовна модель (прокачаний Т9) передова технологія генерації тексту. Т9 недолуго вгадує слово чи фразу, яке користувач хоче набрати вводячи перші символи. На відміну від Т9, ChatGPT генерує текст, базуючись на запитах користувача та враховуючи контекст попередніх запитів.
Якість тексту та надзвичайна взаємодія з ChatGPT приголомшують. Після релізу 3-ої версії ChatGPT, Ілон Маск, Возняк та представники Google і ще 150+ людей звернулись із відкритим листом до уряду США з проханням призупинити подальше навчання нейромережі, обґрунтовуючи це загрозою людству. Тим часом, поки уряд розглядає їх звернення, ці “добродії”, збільшили інвестиції у власні стартапи по розробці нейромереж.
До того, як нейромережі стали доступними для пересічного громадянина (chatGPT, Midjourney) нейромережі сприймались як маркетинговий хід для підвищення вартості рішення із “шильдіком” нейромереж та формування репутації інноваційної компанії. Вже давно звикли до термінів машинне навчання (Machine Learning) чи глибоке навчання (Deep Learning) при знайомстві з новітніми ІТ рішеннями. При цьому, результати застосування нейромереж на практиці були не зрозумілими та важко перевіряємі. Пересічному громадянину не зрозуміло що таке IBM Watson та де в його роботі “сидять” нейромережі.
Що суттєво змінилось останніми роками - це доступність нейромереж пересічній людині, не спеціалісту в певній професійній галузі. Останнімb приголомшуючимb прикладами є нейромережі chatGPT, статті якого публікують в наукових чи публіцистичних виданнях та Midjourney, згенеровані зображення якої виграють у конкурсах ілюстрацій. Проте це тільки верхівка айсбергу. Сьогодні, відмовившись від нейромереж, ми б одразу відчули дискомфорт та падіння продуктивності у високотехнологічних галузях, хоч мабуть не одразу зрозуміли б з чим це пов'язано.
Нейромережі застосовуються в різних продуктах та галузях. Ось кілька прикладів:
Комп'ютерне зорове розпізнавання: Нейромережі використовуються для розпізнавання об'єктів на зображеннях та відео. Це застосовується, наприклад, в системах відеоспостереження для автоматичного виявлення об'єктів або в мобільних пристроях для розпізнавання обличчя.
Мовний аналіз та обробка природної мови: Нейромережі використовуються для розуміння та генерації мови. Вони можуть використовуватись у голосових помічниках, автоматизованих системах перекладу, аналізі тексту та виявленні емоцій у тексті.
Рекомендаційні системи: Нейромережі використовуються для побудови персоналізованих рекомендаційних систем, які пропонують користувачам товари, послуги або контент на основі їхніх інтересів та попередньої поведінки. Це застосовується, наприклад, в інтернет-магазинах, музичних стрімінгових платформах або соціальних мережах.
Медицина: Нейромережі використовуються в області медицини для аналізу зображень медичних знімків, діагностики захворювань, прогнозування результатів лікування та інших медичних застосувань.
Фінансовий сектор: Нейромережі використовуються для прогнозування фінансових ринків, ризик-аналізу, обробки фінансових даних та автоматичного трейдингу.
Автономні системи: Нейромережі використовуються в розробці автономних транспортних засобів таких як автомобілі без водія, дрони або робототехніка.
На практиці детальніше ознайомився з лінгвістичною моделлю chatGPT (тобто моделлю по генерації тексту) та Midjourney - модель із обробки та створення зображень.
chatGPT
Запит: Дай план дій українською мовою по підвищенню продажів рішень із інформаційної безпеки в Україні для компанії інтегратора. Коротко.
chatGPT: План дій по підвищенню продажів рішень із інформаційної безпеки в Україні для компанії інтегратора:
Аналіз ринку: Вивчити потреби та вимоги українського ринку інформаційної безпеки, виявити конкурентні переваги та можливості розвитку.
Розробка маркетингової стратегії: Визначити цільову аудиторію, визначити унікальну пропозицію співвідношення ціна/якість, створити ефективні маркетингові матеріали.
Партнерські відносини: Встановити партнерські зв'язки з українськими компаніями, які вже мають клієнтську базу у сфері інформаційної безпеки.
Продажі та просування: Запровадити активну стратегію продажів, включаючи виставки, конференції та презентації продуктів перед потенційними клієнтами.
Навчання та підтримка клієнтів: Забезпечити навчання та підтримку для клієнтів, демонструючи переваги та користь використання рішень із інформаційної безпеки.
Моніторинг та аналіз результатів: Відстежувати продажі, збирати відгуки клієнтів та аналізувати результати, щоб вносити вдосконалення та адаптувати стратегію.
Постійний розвиток: Залишатися в курсі новітніх технологій і трендів у сфері інформаційної безпеки, адаптувати продукти та послуги до змін на ринку.
Цей план дій допоможе компанії інтегратору залучити більше клієнтів та підвищити продажі рішень із інформаційної безпеки в Україні.*
Запит: Напиши 5 варіантів корпоративних слоганів для такої компанії
ChatGPT:
"Захисти свої дані. Довіряй експертам інформаційної безпеки."
"Надійний захист для сучасного бізнесу."
"Ми забезпечуємо безпеку вашої інформації - надійно і ефективно."
"Ваша безпека - наш пріоритет."
"Інформаційна безпека, яка варта довіри."
Зверніть увагу, що ці слогани є лише прикладами і можуть бути змінені або доповнені залежно від конкретного контексту та цілей компанії.*
Midjourney
Картина по запиту “humanity fighting with artificial neural network for influence”
Ще один запит: “dog reading a book and smoking a cigarette. oil painting.
on the background of a big city”
Google translate
Розпізнавання рукописного тексту
Time-lapse fluorescence microscopy (TLFM)
Інструмент вивчення та сегментації екземплярів клітин, з виявлення окремих об'єктів. Виявляється це вже є поширеною та рутинною задачею в біомедичних додатках. Застосування нейромереж та останніх досягнень ня в обробці одноклітинних зображень сприяють ранньому виявленню пухлин, персоналізованій медицині, передачі біологічних сигналів і розумінню механізмів, що лежать в основі гетерогенності клітинних популяцій.
Автопілот TESLA
Нейромережі в ядрі усіх автопілотів для розпізнавання об'єктів та вивченню дорожніх обставин управління автомобілем.
Хіба це не приголомшливо? Нейромережа правильно розуміє контекст запиту “... для такої компанії”, створює картини за ключовими словами. Спробуйте самі і ви не зможете спокійно спати! Таке як розпізнавання надписів, рукописного тексту, розпізнавання обличчя вже навіть не дивує.
Потенціал нейромереж для бізнесу важко переоцінити.
Гендиректор компанії IBM Арвінд Крішна в інтерв'ю Bloomberg заявив: "IBM призупинить наймання співробітників на посади, які зможе замінити штучний інтелект".
На сьогодні нейромережі інтегровані у кожен смартфон. У найближчому майбутньому нейромережі будуть інтегровані у кожен успішний бізнес-проект. Від медицини до виробництва, від написання тексту для новин, написання картин, створення логотипів, брендування, створення успішних бізнес-планів, бренд-буків, слоганів. Нейромережі будуть видавати кредити і визначати відсоткову ставку в залежності від того чи їй “сподобається” обличчя кредитора. Нейромережа буде проводити аналіз фактів та доказів при виконанні слідчих дій та вказувати на потенційно-можливого чи найбільш-ймовірного правопорушника. Нейромережа буде визначати особу людини та її вину в адміністративних правопорушеннях та автоматично виносити судові рішення. При наймі на роботу, нейромережа буде визначати чи підходить роботодавцю спеціаліст.
Нейромережі будуть настільки ж інтегровані у наше життя, як цифрові технології сьогодні. Така ж доля чекає і нейромережі. Так само як із цифровізацією, у найближчому майбутньому розвиватись буде той бізнес, який буде впроваджувати нейромережі.
ЯК ЦЕ ПРАЦЮЄ?
Нейромережа - це математична модель, яка намагається відтворити роботу нервової системи людини. В свою чергу, математична модель - це спрощена абстракція реальності, яка використовує математичні концепції та формули, щоб описати явища, процеси або системи.
Прикладом математичної моделі може бути модель простого математичного руху: Ви можете використовувати формули руху (наприклад, s = vt) для опису руху тіла зі сталою швидкістю v, протягом певного часу t. Ця модель описує відстань, яку подолає “тіло” (сподіваюсь з мізками) за час t, рухаючись із швидкістю v.
Отже, якщо моє тіло їде на роботу зі швидкістю 60 км./год., а до роботи 30 кілометрів від дому, то використовуючи таку математичну модель, я можу вирахувати час, за який я дістанусь на роботу:
t= 30 км / 60 км/год = 0,5 години.
Проте, якби я не старався, а моє тіло все одно запізниться на роботу і це говорить про недосконалість математичних моделей. Оскільки вона не враховує сотні обставин та факторів, які впливають на кінцевий результат. Жарти в бік.
Отже, нейромережа - це математична модель, яка описує математичними формулами взаємозалежності між різними факторами (ми не знаємо яких), і дозволяє виявити закономірності та взаємозалежності вхідних даних та кінцевого результату та в процесі навчання. Після навчання, така нейромережа може використовуватись для прогнозування результату.
У математичній моделі (простіше - у формулі) нейромережі є вузли - штучні нейрони. Вузли з'єднані між собою зв'язками і передають сигнали один одному.
Найпростіша математична модель нейрона називається ПЕРЦЕПТРОН (Perceptron).
Перцептрон можна візуалізувати так:
Схема наведена вище - це лише візуалізація для спрощення розуміння. Перцептрон - це математична функція (для гуманітаріїв - формула, наприклад y=3*х ), якій задається декілька параметрів, а результатом обчислення є число “y”. Кожному вхідному значенню “х” надається певна вага, яку можна регулювати, наскільки це значення важливе та впливає на результат обчислення нейрону.
В даному випадку ця функція математичною мовою буде виглядати так:
Функція виглядає складніше ніж насправді. По суті вона означає результат роботи нейрону - 0, якщо сума добутків всіх вхідних параметрів та їх вагу менше певного порогового значення або дорівнює 1, якщо сума всіх вхідних параметрів та їх ваги більше певного порогового значення. 0 - нейрон пасивний, 1 - нейрон активний. Результат обчислення передається як вхідний параметр іншим нейронам наступного шару нейромережі.
Чим більше “y” - тим сильніше “активується” нейрон на наступному шарі і так далі.
Роботу перцептрону можна уявити як пристрій, який приймає рішення на основі зважених вхідних даних. Розглянемо приклад. Припустимо, скоро вихідні, які я проведу в Боярці, але я знаю, що у Вишневому планується фестиваль пива. Я люблю пиво і хочу прийняти рішення чи йти на фестиваль.
Для прийняття рішення я розглядаю 3 ключові фактори:
Яка буде погода?
Чи зі мною поїде на фестиваль моя подружка?
Чи ходить у Вишневе маршрутка?
На вході в перцептрон у нас три параметри. Припустимо, х1 = 1, якщо погода хороша або 0, якщо погана, х2 = 1 якщо подружка їде або 0 якщо не їде і х3 = 1 якщо маршрутки ходять або 0 якщо не ходять.
При цьому, як так люблю пиво, що згоден поїхати на фестиваль і без подружки і навіть в погану погоду. Але точно не на машині, бо це нецікаво.
Тому вага для параметру погоди буде w1 = 2, для подруги w2 = 2, та для маршрутки w3 = 6.
Задавши перцептрону такі вхідні параметри - погода погана, подружка не їде, зато їде маршрутка, отримаємо наступний розрахунок.
y = х1*w1+х2*w2+х3*w3=0*2+0*2+1*6 = 6.
Експериментальним методом я визначив, що порогове значення при зважуванні усіх за і проти - число 3. В такому випадку перцептрон прийняв рішення їхати на фестиваль (ура!).
Якщо погода хороша, подружка їде, але маршрутка не ходить, отримаємо:
y = х1*w1+х2*w2+х3*w3=1*2+1*2+0*6 = 4.
Теж їду. І з пороговим значення 3 в мене майже немає шансу не поїхати на фестиваль.
Уявіть математичну модель з тисячею перцептронів (тобто тисячу нейронів) у кожного на вході тисячі чи десятки тисяч “х”. Чим більше вузлів, тим більшу варіативність може моделювати мережа. Керуючи вагами з'єднань між нейронами ми можемо підлаштовувати нейромережу та таким чином навчати її видавати очікувані результати.
Перцептрон - це найпростіша і найменш ефективна модель вузла нейромережі. Крім перцептрону ще є лінійний нейрон, сигмоїдний нейрон, нейрон з функцією активації ReLU, нейрон з функцією активації tanh, нейрон з функцією активації softmax. Кожен має специфічні функції для різних завдань нейромереж. Детальніше про моделі нейронів можна прочитати в Інтернеті.
ПРИКЛАД НА ПАЛЬЦЯХ
Візьмемо картинки з написаними від руки цифрами від 0 до 9. Розіб'ємо картинку на пікселі 28 * 28. Отримаємо 784 пікселі.
Кожен піксель має характеристику: градація сірого кольору від 0 до 1, де 0 - це повністю чорний піксель (рис. а) і 1 - повністю білий (рис. в). І при значенні сірого більше 0,58 проходить “активація” нейрону - він передає сигнал далі у наступний шар мережі (рис. б).
Отже, маємо перший шар нейромережі, у якому є 784 змінних “х” які в собі несуть значення інтенсивності сірого та використовуються як вхідні значення для наступного шару мережі. На виході маємо 10 нейронів, активація яких означає результат - число, яке найбільш ймовірно задано на вході.
У наведеному прикладі бачимо 2 внутрішніх шари по 16 нейронів. Нейромережа використовує навчальний алгоритм, який аналізує вхідні дані та очікувані вихідні значення, і відповідно змінює ваги, щоб максимізувати точність передбачень. Цей процес навчання повинен повторюватися багато разів, щоб покращити результативність мережі.
В даному прикладі маємо 16+16+10=42 нейрони, 784 * 16 вагів для другого шару нейронів, 16*16 вагів для третього шару та 16*10 для четвертого. Крім того, для кожного нейрону маємо порогові значення для його активаці 16+16+10=42. Отже, в нашій моделі є 13 002 параметри, підлаштовуючись які ми проводимо процесс навчання.
Процес навчання нейромережі, полягає в тому, що ми даємо їй приклади, на які заздалегідь знаємо правильну відповідь. Нейромережа підлаштовує вагу зв'язків між нейронами так, щоб отримати бажаний результат.
Результатом роботи нейромережі буде найбільш ймовірна прогнозована відповідь враховуючи вхідні параметри, внутрішні зв'язки та взаємозалежності сформовані в процесі навчання на практичних прикладах. В результаті відрегульованих вагів та порогових значень, на виході найбільше активується певний нейрон.
Comments