Дифференцируеммое программирование и коннекционистские вычисления

В этом же направлении обобщения идеи вычисления является переход к дифференцируемому программированию/differentiable programming и далее самым разным дифференцируемым моделям/differentiable modeling[1] — это рассматривается как мощная новая парадигма программирования и моделирования (вплоть до архитектурного моделирования, когда на архитектуре, представленной недискретной функцией в многомерном пространстве находится оптимум). Похоже, что в ближайшем будущем писать программы будут уже не люди, а компьютеры. По словам Andrej Karpathy, руководителя лаборатории AI автомобильной компании Tesla, вычислительный метод градиентного спуска, используемый в дифференцируемом программировании, неминуемо будет писать код лучше, чем программисты.

Коннективистские модели (однородные вычислительные алгоритмы, подразумевающие распределение вычислений по многим мелким элементам, типа нейронных сетей) тоже по факту включены в информатику. Авторы алгоритмов обучения нейронных сеток ЛеКун, Бенжио и Хинтон стали лауреатами Тьюринговской премии этого года, то есть искусственный интеллект (занимающийся мышлением-не-в-человеке) признали частью computer science и software engineering в профильной ассоциации, Association for computing machinery.

По мере ухода всей науки/science в компьютеры вполне возможно, она будет называться learning (обучение алгоритма-интеллекта решать какие-то классы задач), а в пределе — self-supervising learning (обучение без учителя, по собственной инициативе, используя научное мышление — выдвигая гипотезы и проводя эксперименты). По мере ухода инженерии в компьютеры она будет называться search (поиск инженерного решения в пространстве решений, примерно как «поиск оптимума функции»). Всё это будет алгоритмика обучения и поиска, computer science, а мышление на эти темы — computer thinking/вычислительное мышление.

В вычислительном мышлении обсуждается и вопрос о данных. В data science обсуждаются разные алгоритмы работы с данными прежде всего — хотя предметом вроде как и являются сами данные. Данные стали весьма и весьма кучерявыми: поглядим на корпоративные базы данных, составленных из десятков тысяч таблиц, или представленных графами знаний на сотни миллионов узлов! Одна из популярных методологий разработки корпоративного софта Domain driven design (DDD) по факту представляет собой моделирование предметной области работы компании, и результаты этого моделирования отражены обычно в сложных структурах баз данных и относительно простых алгоритмах их обработки. Вычислительное мышление оказывается не столько про собственно вычисления, но и про виды моделей, над которыми эти вычисления ведутся — оно ещё и мышление про данные. Простые алгоритмы вывода/оценки/вычислений над сложными моделями мира, выраженными в данных.

Как и вся остальная мыслительная деятельность, вычислительное мышление само по себе начинает поддерживаться компьютерами. Мы не говорим, что «автоматизируется»: просто у людей будет исчезать рутинная работа по написанию программного кода, настроек нейронной сети, описаний каких-то компьютерных сложных процедур, и можно будет больше времени посвятить чему-то другому. Землекопы не жалеют, что их работу взял на себя экскаватор. Экскаваторщик не будет жалеть, что работу экскаватора берёт на себя автопилот экскаватора. Программисты не будут жалеть, что написание программного кода берут на себя программы. Но всем остальным людям планеты нужно понимать, что происходит: когда нужно вырыть канаву или фундамент, к кому обращаться; когда нужно разработать информационную систему, к кому нужно обращаться.

Классическая информатика по факту занималась изучением перекодирования: как из одного компьютерного кода получить другой компьютерный код (компиляция программ на языках программирования). Речь в вычислительном мышлении идёт главным образом о расширении этого понимания до менее формальных текстов.

[1] https://ailev.livejournal.com/1464563.html, https://fluxml.ai/2019/03/05/dp-vs-rl.html

Новости по поводу книги/текста появляются в блоге автора, https://t.me/ailev_blog, предложения и замечания присылать автору по адресу ailev@asmp.msk.su

Источник: книга А.Левенчука «Образование для образованных 2020».