Роздуми

While studying AI (both ML and AGI), I've made the following notes, which, possibly, will be of interest to others.

  1. By "AI," we'll mark what is currently called "artificial intellect," but that's not intellect. This is just automation of solving certain tasks using specific machine decision-making algorithms - decision trees, neural networks, and some other mechanics. All those algorithms are based on data and require vast amounts of homogenous data for their operations and enhancements. It would be more appropriate to call this Data Science, yet the talk is not about science but about applications of this science. Hence AI. BUT this is not intellect as understood by humans.
  2. Why is Python so popular in AI? The answer is quite unexpected. Python as a programming language for large products is not suitable. But its benefit is a fairly rapid mastery. BASIC of modernity of a kind. So, ML is not for programmers but for data scientists who may or may not be able to program. For them, Python is easier to master. The fact that everyone says "Python has more libraries" is not a problem because .NET also has ML.NET and wrappers for TensorFlow, Keras, etc. That is, if someone needs to implement ML in .NET - no problems. Is it possible to access Python from .NET? You can try using IronPython or approach the task via pythonnet. Thus, if you want libraries in Python, then there are solutions.
  3. Various ML courses still teach primitive algorithms, "bricks." The nuance is that all these bricks have long been implemented in the above-mentioned libraries, and it is not algorithms that should be studied but when to use which algorithms. A modern data scientist will not write an own regression or some other primitive function - it's not just extra work (everything has already been written for us), but you are not able to use the implementation with ready-made bricks. It's like writing your SHA256 or AES128 - well, you wrote it, but then where to apply it, as all encryption libraries have and use their own implementations.
  4. A consequence of (3) - a modern data scientist doesn't do programming at all but performs composition of blocks (low-code and no-code technologies) as well as builds and optimizes data pipelines. That's what is called MLOps now.
  5. There exist two directions of operations and development of an AI specialist and AI business. The first one is the building of data pipelines, described in (4). That's a great job, well-paid and required by the market. But that is not programming. If you love "data" as an entity, then you'd like this job too. So, this work and this business are about data: the more data, the better. There are no genius ideas, disruptive technologies, sophisticated inventions, and similar breakthroughs. The foundations of ML are not rocket science: they have simple math and trivial data transformations. You will succeed in building a business here if you see data and know how to collect them and apply them to optimize certain business processes. To re-iterate, you need to possess huge amounts of data; only this gets you ahead of the competition.
The second direction of action is the application of the ideas and capabilities of ML in solving vertical market tasks and problems. AI activities and AI businesses in this direction grow from narrow and specific scientific and technological needs. Here, you may have little data (or no data at all). But you may make a breakthrough when solving a scientific or technological problem. For this direction, you first of all need to be a specialist in some subject - chemistry, physics, biology (or you should have such a specialist), and then you'd search, which ideas and principles of ML and AI you can apply in this specialist's work.

Everything between those two directions ("we can write code, and we want to apply this knowledge in AI";) most often doesn't have practical applications and a business benefit. Consequently, the risks of such a business are not justified by the possible commercial results.

6. Could one use ML and AI for solving tasks X, Y, Z? Most likely, no. Modern AI, based on large datasets and data streams, is hardly applicable when you have little or no data. For this, you need other technologies like AGI. Those are, unfortunately, put behind because they don't bring quick money to large players, capable of investing in those technologies.  
В процесі вивчення AI (як ML, так і AGI) зробив такі спостереження, які, можливо, будуть цікаві й іншим.

0. Абревіатурою AI далі позначатимемо те, що зараз називають штучним інтелектом, але це не є інтелект. Це просто автоматизація розв'язання певних задач за допомогою певних машинних алгоритмів прийняття рішень — дерева рішень, нейронні мережі та деякі інші алгоритми. Всі ці алгоритми побудовані на даних та вимагають для своєї роботи та розвитку великого обсягу однотипних даних. Правильніше було б це назвати Data Science, але йтиметься не про science, а про її практичне застосування. Тому AI. АЛЕ це ніяк не є інтелектом в людському розумінні.

1. Чому Python такий популярний в AI? Відповідь досить несподівана. Python як мова програмування для великих продуктів не годиться. Але його вигодою є досить швидке опанування. Такий собі BASIC сучасності. Так от, ML'ем займаються не програмісти, а data scientists, які можуть вміти, а можуть і не вміти програмувати. Для них Python зручніший в опануванні. Те, що всі говорять "на Python бібліотек більше" - це не є проблемою, оскільки в тому ж .NET є і ML.NET, і обгортки для TensorFlow, Keras тощо. Тобто, якщо комусь потрібно реалізувати ML в .NET - проблем жодних. Чи можна звертатися з .NET до Python? Можна спробувати використати IronPython або через pythonnet. Тобто, якщо хочеться бібліотек на Python, то рішення існують.

2. Курси, що вчать ML'у, викладають примітивні алгоритми, "цеглинки". Нюанс полягає в тому, що всі ці цеглинки вже давно реалізовано у вищезгаданих бібліотеках, і вчити(ся) слід не алгоритмам, а тому, коли які алгоритми застосовувати. Ну не буде сучасний data scientist писати свою регресію чи ще якийсь примітив — це не лише зайва робота (все вже написано до нас), але таку функцію потім не використаєш разом з готовими цеглинками. Це як написати свій SHA256 чи там AES128 - ну написав, але куди його потім, якщо всі бібліотеки з шифрування мають і використовують своє.

3. Наслідок з п.2: сучасний Data Scientist —  це вже не програмування взагалі, а складання кубиків (low code та no code технології) і побудова та оптимізація data pipelines. Це те ж, що називається MLOps.

4. Існує два напрямки роботи (і розвитку) AI-спеціаліста та AI-бізнесу. Перший — це описане в п.3 будівництво data pipelines. Це чудова високооплачувана і потрібна ринку робота. Але це не програмування. Якщо вам подобаються "дані" як сутність, то вам сподобається і така робота. Ця робота і цей бізнес — про дані. Що більше даних, то краще. Тут немає якихось геніальних ідей, новітніх технологій (те, на чому базується ML, —  це не rocket science, там проста математика і прості перетворення даних), хитрих винаходів і подібних проривів. Побудувати бізнес тут можна, якщо ви бачите дані і бачите, як їх зібрати і застосувати для оптимізації якогось бізнес-процесу. Повторюся, даних має бути дуже-дуже багато; лише це дає відрив від конкурентів.

Другий напрямок роботи — це застосування ідей та можливостей ML в розв'язанні вузькогалузевих задач. AI-роботи та AI-бізнеси в цьому напрямку виростають з вузьких наукових та технологічних потреб. Тут даних може не бути багато (або взагалі не бути). Але тут можливі прориви при розв'язанні науково-технологічних задач. Для цього напрямку слід спершу бути спеціалістом в предметній області — хімії, фізиці, біології (або мати такого спеціаліста), а тоді шукати, які ідеї та принципи ML та AI можна застосувати в роботі цього спеціаліста.

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

5. Чи можна ML та AI використати для задач X, Y, Z? Швидше за все, ні. Сучасний AI, побудований на великих потоках даних, не застосовується в умовах малої кількості даних або їхньої відсутності. Для цього потрібні інші науки (зокрема, AGI), які зараз, на жаль, відсунуто на задній план тому, що вони здебільшого не приносять прибутку в короткостроковому періоді (2-3 роки).
Деякі справи схожі на яйця - їх слід висидіти.

AI

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

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

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

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

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

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

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

Другий спосіб вимагає тренування. Кажуть, в армії це досить добре закріплюють. Але нелюдськими методами. Є простіший метод - абсолютна довіра до людини, котра каже, що робити. Наприклад, в дітей закладено з певного віку (підлітковість) почати опиратися батькам. Але згодом, років в 16-17, *якщо* дитина довіряє батькам, то їй стає порівняно легко "вимкнути мозок" і просто діяти. В обох випадках висота бар'єру зменшується. Що таке "вимкнути мозок"? Насамперед - це вимкнути оцінкову систему. Ця система існує в усіх істотах і є зовнішнім периметром безпеки для окремого індивіда. Вона змушує кожного оцінювати будь-що (факт, подію, поведінку тощо) на предмет безпечності. І майже завжди знайоме і відоме є або здається безпечнішим за нове. А це й є інший бік ригідності. Кажуть, що звірі в лісі бігають одними й тими ж (до сантиметра) стежками просто тому, що вони колись тут пробігли і тут було безпечно. Звідти ж правила "працює - не чіпай", консерватизм в політиці і житті і подібні "реакційні" прояви.

І ще один аспект, вельми пов'язаний зі сказаним. Як сказано, є два способи проживати життя - дивуватися всьому і не дивуватися нічому. Дивуватися - це реакція тієї ж ригідної нервової системи на невідповідність нової інформації вже зафіксованій [в нервових клітинах]. Відповідно, можна або бути ригідним і дивуватися всьому, або тренуватися не дивуватися нічому, і цим знижувати рівень ригідності. "Не дивуватися" є альтернативою вимиканню мозку. "Не дивуватися" примушує мозок зупинити оцінювання всього і вся на предмет безпечності. Врешті решт, ми не печерні люди і за дверима нас не очікує шаблезубий тигр. А від шаблезубого клоуна нас стара система оцінки не врятує, бо коли її будували, клоунами обідали шаблезубі тигри.
Раніше я думав, що всі питання в житті зводяться до питання про сенс життя. Але зараз, ознайомившись із різноманітними теоріями, які стосуються всесвіту, я розумію, що питання про сенс життя не є кінцевим. А ключовим на зараз є питання про природу реальності. Сенс життя залежить саме від природи реальності. І мали рацію миші, що ставили The Ultimate Question of Life, the Universe, and Everything . От коли стане зрозуміло, що ж ховається за магічним "42", можна буде шукати решту відповідей. Є теорія, що 42 - це ASCII код символа "*", що в деяких випадках означає "будь-що" або whatever. І тут ми не можемо не згадати Курта Кобейна - Oh, well, whatever, nevermind. Тобто подальша відповідь - nevermind (тобто, "не звертайте уваги" або, по-простому, "пофіг";). А тут ми вже згадуємо слова з пісні групи Сплін: "Любой, имеющий в доме ружье, приравнивается к Курту Кобейну / любой, умеющий читать между строк, обречен иметь в доме ружье."

А ваша рушниця вже готова до пострілу?
Чи замислювалися ви, любі Робесп'єри з Маратами, що бути монархом - це майже те саме, що пожиттєве ув'язнення, хіба що з кращим харчуванням (і то не факт)? Бути в старі часи королем чи імператором - це не тунеядство із сибаритством, а обов'язок щоденної важкої праці на жорсткому троні (який іноді хитається), альтернативою якої є звільнення зубожілим народом або підлеглими прямо на цвинтар. Австрійський імператор Франц-Йосиф протягом понад 50-ти років працював від п'ятої ранку в коморці навіть без гарного освітлення (і з туалетом моделі "відро" за стінкою). Страшно уявити, як працювали українські князі чи середньовічні європейські монархи.

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

Але є нюанс. В 42 вже було 24, а в 24 - не факт, що буде 42.
Називаємо речі своїми іменами.

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

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

Перше і головне: пандемія - це як цунамі. Хтось обов'язково загине. І ми навіть знаємо, хто. Це знання дає нам підказку, як слід діяти.

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

З огляду на малу ефективність карантинів в довгостроковій перспективі є сенс вкладатися в інше: охорону вразливих верств шляхом їхньої ізоляції і в порання із наслідками інфекції. Хтось назве мене занадто цинічним, але я скажу так -- найкраще, чим можна допомогти суспільству, це додаткові похоронні команди і дозвіл на евтаназію. Будемо відверті - при смертності в 0.01% від популяції ми матимемо три (3) мільйони "неочікуваних" смертей по світу. Припустимо, що медицина зможе витягнути з того світу мільйон. Але це все одно два мільйони померлих від вірусу протягом року. Вони *будуть* незалежно від наших бажань. Тому слід зробити так, щоб ці смерті були легкими. Шори на очах і відкидання фактів лише погіршать останні хвилини цих людей. А от відсутність таких шор, не лише допоможе самим постраждалим, але й дасть спокійність в майбутньому для тих, хто піклувався до останнього про цих постраждалих.

Disclaimer: я не пишу абстрактно, в мене самого є літня людина з групи ризику, ізолювати котру немає можливості.
Пропонують пишатися літерою Ї як візитівкою української мови. Водночас, нагадаю, ця літера присутня в багатьох мовах, і я навіть пропонував писати назву Києва через цю літеру як Kyïv.

Але є в нас дійсно автентична літера, присутня в цьому реченні. Ця літера: Є . В інших мовах звук ЙЕ позначається двома літерами, а в українській - однією. В західномонгольському діалекті цей звук позначається іншою літерою.

Тому пропоную вшановувати насамперед літеру Є.
Оскільки я трошечки юрист (і за фахом і з певним досвідом), то я певні юридичні документи для потреб бізнесу пишу сам. І от в процесі створення чергового документу, зрозумів, чому юридичні документи іноді настільки відірвані від реальності. Річ у тім, що вони зазвичай описують "що" потрібно робити. Але дуже рідко вони містять інструкції стосовно того, "як" це має робитися. Тому є дві причини. Перша - та, що фахові юристи не знають предметної області і в процесі написання не можуть уявити собі можливі складнощі і вартість виконання написаних ними нормативних актів чи договорів. Друга - юриспруденція і програмування схожі тим, що в процесі роботи результатом напруженої розумової діяльності стає певна конструкція (дуже часто - з рідкої субстанції і палиць), котра, як передбачається, має працювати. Але вона не випробовується в реальному житті до моменту здачі (ухвалення чи підписання для юристів, запуску для програмістів). І виходить, що "дуже далекі вони від народу".
А що як весь світ було створено невідомими будівельниками для розваги? Людське існування в ньому позбавлено сенсу за проектом, а будівельники розважаються тим, що спостерігають за спробами людства знайти той самий сенс життя.
Коли я розмірковував над причинами постійного ниття українців стосовно того, чому все погано, я згадав про два чинники.

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

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

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

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