В итоге мы имеем небольшую группу мужчин, переоценивающих свои математические способности, которые систематически не допускали и игнорировали женщин и людей с небелым цветом кожи, веками занимаясь разработкой машин. Группу мужчин, желающих превратить научную фантастику в реальность, которые не слишком заботятся о социальных нормах и не верят, что общественные нормы и правила применимы к ним. Тех, кто, прохлаждаясь, не успевает тратить выделяемые государством средства. Тех, кто также с радостью принял идеологическую риторику крайне правых либертарианских анархо-капиталистов.
Что же пошло не так?
7
Машинное обучение: DL на ML
Чтобы сделать мир технологий справедливее, необходимо привлечь больше разнообразных мнений при создании технологий. Добиться этого можно посредством банального сокращения количества преград, а также решения проблем а-ля «протекающий трубопровод», заставляющих профессионалов средней руки отказываться от дальнейшего карьерного роста. Мне также кажется, что поможет нестандартное решение: разобраться с нюансами обсуждения цифрового мира. Иллюстрирует сложность обсуждения информатики веб-комикс xkcd Рэнделла Манро. На одной из картинок женщина сидит за компьютером, мужчина стоит позади нее:
– Приложение должно проверять, действительно ли пользователь находится в национальном парке, когда делает фотографию, – говорит мужчина.
– Разумеется, простой запрос в ГИС, – отвечает женщина. – Дай мне несколько часов.
– И проверь, есть ли на фотографии птица, – продолжает мужчина.
– Для этого мне понадобится команда исследователей и пять лет.
«В компьютерном мире бывает непросто объяснить разницу между простым и невозможным в виртуальном мире» – гласит подпись к комиксу
[72].
Поскольку сложно объяснить, почему компьютер затрудняется распознать птицу на изображении или отличить попугая от гуакамоле, нужно больше людей (может, дата-журналистов?), способных перевести сложные технологические темы на простой язык, демистифицировать потайные уголки мира ИИ.
Из-за этих нюансов появилась путаница. На протяжении всей книги мы возвращаемся к идее, что компьютеры отлично справляются с одними задачами и совершенно неприменимы к другим, а социальные проблемы начинаются тогда, когда люди не могут оценить, насколько корректно компьютер выполняет задачу. Движение по комнате, на полу которой разбросаны игрушки, – простейшая задача для человека и очень сложная для компьютера – классический пример моего тезиса. Ребенок, только что научившийся ходить, может пройти по этой комнате, не задев игрушки (если, конечно, решит, что их задевать не стоит). Робот не может этого сделать. Чтобы робот смог пройти по такой комнате, нам нужно запрограммировать его: вписать всю информацию об игрушках и их точные размеры, чтобы он смог вычислить путь. И, если их передвинуть, понадобится обновлять программу. Беспилотные машины, о которых мы поговорим в главе 8, работают примерно как робот в игровой комнате: они постоянно обновляют свою карту мира.
Владельцы питомцев, купившие роботы-пылесосы Roomba, выявили еще кое-какие сложности. Если животное наделает дел на полу, робот непременно развезет их по всему дому. «Честно говоря, мы часто сталкиваемся с этим, – комментирует ситуацию представитель компании-производителя iRobot для Guardian в августе 2016 г. – Мы настоятельно рекомендуем не планировать уборку, если вы знаете, что ваша собака может набедокурить. Поведение животных невозможно точно предсказать»
[73].
К счастью, наш повседневный язык позволяет описывать определенные вещи, не называя их конкретно, и я могу использовать эвфемизмы для отвратительных вещей, которые способны вытворить питомцы. Если я скажу, что моя собака чудесная, но при этом гадкая, вы поймете, что я хочу сказать. Вы можете удержать в голове две противоречивые идеи одновременно и способны догадаться о том, что я подразумеваю под гадостью. В математическом языке не существует подобных эвфемизмов, в нем все крайне четко. Например, в программировании имеется концепт под названием переменная. Переменной присваивается определенное значение, например «х=2», а затем ее можно использовать в процедурах. Существует два типа переменных: изменяемые, которые называются собственно переменными, и неизменяемые – константы. И это предельно ясно для программиста: переменная может быть константой. Для непрограммиста такая запись, скорее всего, не слишком понятна: ведь константа противоположна переменной, то есть изменяемое не равно неизменяемому. Это сбивает с толку.
Проблема терминов не нова. Язык эволюционирует вместе с наукой. Например, в биологии клетки называются так, а не иначе, поскольку Роберту Гуку, открывшему их в 1665 г., они напомнили монастырские кельи
[74]. Проблема наименования особенно актуальна сегодня, в свете динамичного развития технологий. Нам приходится привыкать к новым компьютерным концептам и внедрять различные устройства поразительно часто. Однако всему этому создатели присваивают имена, основанные на уже существующих объектах или концептах.
И, хотя информатики и математики талантливы в своих областях, они совершенно нечувствительны к особенностям языка. Так что, если что-то требуется назвать, они не будут сильно стараться, пытаясь найти превосходный вариант с идеальными коннотациями, латинскими корнями и прочим. Они просто выбирают название, которое обычно связано с чем-то, что им симпатично. Язык программирования Python был назван в честь комик-группы «Монти Пайтон» («Монти Пайтон» – это пракомедия, как «Звездные войны» – пранарратив). Django, сетевой фреймворк – в честь Джанго Рейнхардта, любимого джаз-гитариста создателя фреймворка. Язык Java – в честь кофе. Язык JavaScript – никак не связанный с Java – к несчастью, тоже был назван в честь кофе.
Лингвистические проблемы стали появляться и по мере того, как термин «машинное обучение» становился частью популярного дискурса. Машинное обучение (ML) предполагает, что каким-то образом компьютер обзавелся субъектностью и разумом, поскольку он «учится», ведь обучение – это слово, которое применяется к разумным существам вроде людей (или частично разумным, например животным). Тем не менее информатики прекрасно понимают, что «машинное обучение» – это скорее метафора, она означает, что машина может улучшать свои показатели при решении запрограммированных, рутинных, автоматизированных задач. Это вовсе не значит, что машина каким-то образом приобретает знания, мудрость или субъектность, несмотря на все то, что подразумевает слово «обучение». Подобная лингвистическая путница лежит в основе большинства ошибочных представлений о компьютерах
[75].