А от про нейронні мережі, ІІ і т. д. [Опитування]

На просторах інтернету часто доводилося бачити думки, що де "нейромережа — панацея від усього і вся", тобто наприклад "натравите нейромережа — і все, профіт" або ще брутальней "скоро створять ШІ на базі нейронної мережі, яка зможе замінити навіть програмістів / адміністраторів / аналітиків і т. д.".
Як правило коли намагаєшся потім з'ясувати глибину пізнання дзен опонента в цій області, з'ясовується що він трохи не повний дилетант (ну або після пари безглуздих "аргументів" з піною у рота, він зливається, перериваючи тим самим спробу з'ясувати його рівень).
Я не з чуток знайомий з нейронними мережами, брав участь в деяких проектах, "конструював", навчив і налаштував вже більше десятка різних flow з використанням останніх в різних областях застосування (при цьому перепробувавши безліч різних движків і типів мереж від найпростіших перцептронов до самоорганізуються монстрів). Крім того я особисто знайомий з деякою кількістю людей, активно проектують і використовують нейромережі в повсякденності, і поки що ні від одного з них не чув про карколомний прорив у використанні нейромереж (що стосується інтелекту останніх).
Тобто я думаю, що в стані озвучити віддаленість від реалій вищенаведених висловлювань.
Написати статтю (і опитування) хотів вже досить давно, але все якось руки не доходили. А після чергового питання-пропозиції по е-майлу "натравите ж нейронну мережу" на проблему з моїй минулій статті "Моніторинг лог-журналів: Такий уразливий лог...", все-таки зрозумів — немає — треба писати.
У підсумку метою цієї статті я ставлю на перше висловити свою скромну думку, а по-друге, з'ясувати, що думають професіонали з хабра з цього ж приводу.
Тобто щоб можна було ткнути носом в статтю чергового такого "все краще-всіх-знає" від інтернету...
Хоча раптом це я таки нещадно відстав від життя...
Отже, для початку озвучимо про або швидше контра використання нейронних мереж, що стосується її "інтелект":
  • нейромережа "програмують", щоб вирішувати вузьконаправлені завдання, тобто мережа розплутує тільки строго певні, семантично значущі для неї ознаки;
  • здатність нейромережі розплутувати ознаки вхідних даних безпосередньо залежить від якості вхідних даних (наприклад наскільки ті самі семантично значущі ознаки вписуються в картину "творця" мережі); приміром вона не відрізнить огірок від банана, якщо в неї спочатку не закладена функція оцінки колірної складової, або цілого ряду інших характерних ознак (типу вона буде знаходити банан тільки в руках мавпи, оскільки остання навряд чи знайде десь огірок) або вони просто відсутні у вхідних даних, а додаткові "знання" не були закладені творцем мережі
  • дані з навчальної вибірки, на яких власне мережа навчається, повинні бути:
    • репрезентативні (повинні ілюструвати справжній стан речей в предметної області);
    • несуперечливі (суперечливі дані приведуть до поганої якості навчання мережі);

    • перетворено до вигляду, який можна відправити вхідних нейронів (тобто повинні бути як мінімум первинно оброблені іншими алгоритмами)
  • результати рішення після і вчасно навчання повинні бути обов'язково перевірені на правильність рішення (хто це буде робити, коли нас всіх відправлять на пенсію...)
  • складні нейромережі в масі своїй дуже і дуже нешвидкі створення, споживають крім того купу ресурсів і пам'яті (наприклад для зберігання тією ж асоціативною інформації), хоча і вирішують якісь вузькоспрямовані заздалегідь поставлені завдання нерідко швидше людини (ну так і калькулятор може наприклад звести в ступінь в мільйони разів швидше людини, від цього він навряд чи став розумнішим останнього і може похвалитися великим інтелектом).
Грубо кажучи, більшість класичних нейромереж, що існують зараз, — є класифікують функції або групи функцій, більш-менш ефективно апроксимуючих до потрібних меж вхідні дані і виділяють у результаті строго "запрограмовані" ознаки.
Тобто не якісь абстрактно думаючі "залозки", а суть спеціалізовані алгоритми, суворо — або вузько-заточені на певні дії, з можливістю "самонавчатися" (насправді самостійно покращувати або уточнювати параметри "алгоритму" у процесі навчання, а мережі навчані без вчителя, при постійно включеному режимі навчання, ще і в процесі роботи).
тобто що стосується інтелекту, принципова різниця ніж нейронна мережа відрізняється від будь-якого алгоритму (і це одне з головних переваг її) — вона в змозі покращувати результат на підставі минулого досвіду (я утрирую, але мова тут про інтелект, не будемо тут власне про коннективизм, нейрони, сигнали, ваги тощо).
Крім того, нерідко результат роботи такого "алгоритму" є імовірнісна оцінка (або група їх).
Що я хочу цим сказати. Ну візьмемо приміром лог-рядок з вищезазначеного поста:
Aug 18 08:04:51 srv sshd[2131]: Failed invalid user password for test from 1.2.3.4 port 46589 ssh2 from 4.3.2.1 port 58946 ssh2

Ну вона оцінить це як "неавторизована спроба з хоста 1.2.3.4 з імовірністю 99%", якщо вона навчалася на мільйони рядків, де після першого
" з "
завжди стоїть поганий адреса (і страшно помилиться). Або в кращому разі — пропустить її як "сміттєву" рядок або знайде там обидва адреси (що як мінімум повинно бути передбачено в самому flow її творцем).
насправді є системи ШІ, звані "системами виявлення вторгнень" (IDS), спеціально заточені на виявлення атак і (про що нам говорить назва) вторгнень, однак я не знаю ні одного (а я багато побачив), яка тут конкретно не спіткнулася, мало не повністю. В кращому випадку тут був би сигнал адміну про численних спробах "прорватися".
Як змусити її "думати" як людина (тобто почати як мінімум сумніватися в тому що бачимо) і головне прийняти в результаті правильне рішення — це як раз дуже складне завдання, яке поки що вирішує розробник (і нерідко алгоритмічно, поза або в обв'язці нейромережі) в кожному конкретному випадку.
І це, як мені здається, ще дуже і дуже надовго.
Я не готовий оцінювати час, коли наприклад ті-ж ШІ-помічники типу siri і компанія, дійсно отримають хоча б зачатки "інтелект", в нашому розумінні, тобто будуть вже принципово відрізнятися від того-ж програмованого калькулятора (що стосується дійсно інтелектуальної складової). Але думаю, що це буде ще дуже не скоро.
З приводу ж "замінити розробника" — думається мені, що ця професія буде останньою в списку тих, кого в далекому майбутньому теоретично зможе замінити ШІ.
Якщо ж ви вважаєте, що створили вже щось таке мега-розумне, у мене для вас є новини:
  • ви вже безробітний
  • це вам вже не страшно, бо ви ще й мультимільярдер, тобто вже зараз можете сміливо брати кредит, йти купувати нову Теслу, затишний будиночок на Бора-Бора і т. п.
  • вас ненавидить краща частина людства (іншими словами ви обрали собі ворогами мільйони найрозумніших і найосвіченіших людей планети)
  • скайнет вже близько (і скоро нас всіх поневолить)
  • за вами ймовірно вже виїхали (тому продумайте таки варіант з Бора-Бора)
Тепер власне до опитувань.
Щоб виключити "шум" в опитуваннях, вони поділені на три групи (два для тих хто знає, і одна — для припущень), по два опитування для кожної цільової аудиторії:
  • для професіоналів у розробці ІІ, машинного навчання та нейронних мережах зокрема (наприклад самостійно розробив/навчив/налаштував кілька ІІ або нейромереж).
  • для теоретиків, тобто людей, які розуміються в теорії, як це працює (але ні разу не використовували це в бою)
  • припущення: для всіх інших (ну дайте вже клацнути де-небудь).
Величезне прохання, не відсвічувати в опитуваннях іншої цільової аудиторії (тиснемо "Утриматися" після того, як відповіли в опитуваннях у себе)...
Отже, поїхали!

Джерело: Хабрахабр

0 коментарів

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