Три этапа применения компьютеров
Глава 5 Хэмминга начинается с обзора: его 30-летняя серия докладов на учебных мероприятиях IBM для клиентов заставила его разбираться в тенденциях, а не только в фактах. Повторная подготовка одного и того же доклада требовала ему быть впереди своего поля, а не просто идти в ногу с развитием.
Он выделил три последовательных этапа применения компьютеров:
Этап 1: ограничения оборудования (глава 3). Ранние вычисления ограничивались возможностями машины — памяти было мало, циклы дорогие, надёжность неопределённа. Приложения выбирались в соответствии с возможностями оборудования.
Этап 2: ограничения программного обеспечения (глава 4). По мере совершенствования оборудования программирование стало узким местом. Приложения ограничивались тем, что можно было эффективно закодировать.
Этап 3: экономика и приложения (глава 5). К концу 1980-х годов оборудование стало достаточно дешёвым, а программное обеспечение достаточно мощным, чтобы встал вопрос: что должны делать компьютеры? Экономика и организационные возможности определили, какие приложения будут построены.
Этот переход между этапами важен: каждый этап требовал совершенно разных навыков от специалистов. Блестящий инженер по оборудованию из этапа 1, который не обновил свой ментальный образ, становился малополезным на этапе 3.
Самые ранние приложения
Вычисления начались с астрономических расчётов, а затем с «обработки чисел» в физике и инженерии. Раймонд Люлл (1235–1315), испанский теолог, построил логическую машину — первое применение вычислений к нечисловым рассуждениям. Джонатан Свифт высмеивал это в «Путешествиях Гулливера» (остров Лапута). Хэмминг проследил эту линию от Люлла через символическую манипуляцию к тому, что станет: машинное обучение.
S-кривая технологического внедрения
Каждая крупная технология следует характерной траектории: медленное первоначальное внедрение, быстрое ускорение, насыщение. Хэмминг назвал это паттерном S-кривой.
Фаза 1 любой технологии: героическая демонстрация. Небольшое число энтузиастов демонстрирует, что технология работает. Прогресс зависит от индивидуального таланта и терпимости к ненадёжности.
Фаза 2: быстрое внедрение. Технология становится достаточно надёжной для всеобщего использования. Вокруг неё создаётся инфраструктура. Появляются стандарты. Ограничивающий фактор переходит от технического к организационному.
Фаза 3: насыщение. Технология достигает полного охвата адресуемого ей рынка. Дальнейшее улучшение даёт убывающую отдачу. Для технологий-наследников начинаются новые S-кривые.
Для вычислений: Фаза 1 = эпоха ENIAC (1940-е–1950-е годы), Фаза 2 = коммерциализация мейнфреймов (1960-е–1970-е годы), Фаза 3 = персональные компьютеры приближаются к насыщению (1980-е–1990-е годы). Хэмминг писал во время переходного периода от Фазы 2 к Фазе 3 для мейнфреймов, в то время как персональные компьютеры были на Фазе 2.
Идея эквивалентного продукта (впервые сформулированная в главе 2) применима прямо здесь: на Фазе 2, успешная компьютеризация создаёт эквивалентную работу, а не ту же работу. Организации, которые пытались компьютеризировать существующие рабочие процессы без их переработки, часто терпели неудачу или показывали низкие результаты.
Определение вашей позиции на S-кривой
Идея S-кривой Хэмминга имеет практическое следствие: навыки и стратегии, успешные на Фазе 1 (героические, экспериментальные, высокая терпимость к отказам), отличаются от необходимых на Фазе 2 (надёжная доставка, соответствие стандартам, организационная интеграция) и Фазе 3 (оптимизация, сокращение затрат, консолидация платформы).
Когда общие данные не работают
Хэмминг рассказал историю из времени, когда он проводил высокоуровневый аудит компьютерного центра Boeing. Руководство Boeing верило, что они решили проблему совместного проектирования: все инженеры будут записывать текущее состояние своего проекта на общую ленту. Все будут читать из этого единственного источника истины. Проблемы координации исчезнут.
Это не сработало.
Причина: когда команда проводит исследование оптимизации (варьируя, скажем, площадь крыла и профиль для минимизации сопротивления), ей нужна фиксированная базовая линия для измерения изменений. Если общая лента постоянно обновляется с изменениями от других команд, улучшение, которое измеряет команда, может фактически отражать чьё-то ещё изменение, вставленное между их итерациями — а не их собственное решение по проектированию.
Решение, которое команды применили на практике: каждая группа, начиная исследование оптимизации, делала снимок копии текущей ленты. Они использовали эту замороженную копию на протяжении всего исследования, игнорируя обновления. Только когда они были довольны своим новым проектом, они записывали обратно — затем согласовывая с изменениями всех остальных.
Заключение Хэмминга: вы не можете использовать непрерывно изменяющуюся базу данных для исследования оптимизации. Оптимизация требует стабильного пространства состояний; изменяемое общее состояние вводит фантомные корреляции.
Базы данных
Компьютеры продвигались как решение организационных проблем данных. Хэмминг был скептичен. Он привёл системы бронирования авиабилетов как действительно успешные (проблема координации реальна, модель данных проста, согласованность строго необходима). Но системы управления информацией, которые обещали сказать менеджерам «текущее состояние компании в реальном времени», постоянно давали худшие результаты: модели данных были слишком сложными, качество данных было слишком плохим, интерпретация была слишком неоднозначной.
Стабильная базовая линия против живых данных
Провал Boeing иллюстрирует общий принцип, который подразумевал Хэмминг: оптимизация требует стабильной функции стоимости, оценённой на фиксированном пространстве состояний. Общее изменяемое состояние нарушает требование фиксированного пространства состояний.
Этот принцип выходит за пределы программного обеспечения. В любом процессе оптимизации — бизнес-стратегия, экспериментальный дизайн, обучение моделей — выделение переменной, которую изучают, требует контроля над всеми остальными.
Распознавание образов как следующий рубеж
К 1993 году Хэмминг определил распознавание образов как главный следующий вызов для вычислений. Он различал два типа:
Классическое распознавание образов: сравнение входных данных с сохранённым шаблоном. Обнаружение лиц, OCR (оптическое распознавание символов), проверка подписей. Они допускают алгоритмические решения один раз установлены набор шаблонов.
Подлинное распознавание: ребёнок узнаёт «стул» во многих тысячах различных форм, материалов, размеров и ориентаций, не видев большинство из них. Явный шаблон не охватывает обобщение. Хэмминг рассматривал это как открытую проблему — разрыв между классическим сопоставлением образов и подлинным распознаванием не был вопросом большего количества данных или более быстрого оборудования. Это требовало других основ.
Он сформулировал это в терминах неудачи экспертных систем: исследователи думали, что они могут извлечь правила принятия решений у экспертов и кодировать их в программах. Экспертные системы работали в узких областях, но не в сложных, отчасти потому, что человеческие эксперты используют образцы, которые они не могут выразить. Бессознательная библиотека образцов, построенная за годы практики, не может быть извлечена через интервью.
Прогноз Хэмминга (1993): подлинное распознавание образов потребовало бы принципиально различных вычислительных подходов. Он указал на нейронные сети, но был осторожен — не убеждён, что тогдашние нейронные сети закроют разрыв.
Повторение одного и того же доклада в течение 30 лет
Хэмминг описал практику, которая дала ему больше отдачи, чем почти всё остальное в его профессиональной жизни: повторение одного и того же доклада.
Его пригласили выступить на учебных мероприятиях IBM для клиентов примерно в 1960 году. Он выбрал доклад на тему История вычислений до 2000 года — тему, в которой он был действительно неуверен, что заставило его развивать действительные взгляды. Он давал варианты этого доклада два-три раза в год в течение 30 лет.
Выявленные им преимущества:
Оставаться в курсе: повторение одного и того же доклада заставило его регулярно его обновлять. Он не мог дать устаревший доклад без смущения перед аудиторией, которая следила за полем.
Распознавание тенденций: процесс обновления заставил его искать тенденции, а не просто события. Что изменилось за прошлый год и в каком направлении? Повторённое обновление требовало модели поля, а не просто каталога фактов.
Навык публичных выступлений: практика снизила страх и улучшила доставку. Он перестал бояться выступлений; он стал хорошим оратором через повторение, а не таланта.
Сеть: последовательная тема создала репутацию. Люди связывали его с тенденциями в вычислениях. Приглашения умножились.
Его наблюдение: он мог бы приобрести эту практику через удачу — но он создал удачу, активно ища возможности для выступлений, затем развивая дисциплину для их систематического использования.
Намеренная практика и человеческий капитал карьеры
30-летний доклад Хэмминга был примером намеренной практики, применённой к интеллектуальной работе: систематическое, повторяемое упражнение с циклами обратной связи, которое создавало составное мастерство с течением времени.
Структура: (1) обязуйтесь к теме на краю вашего знания; (2) дайте доклад, который вынуждает вас его знать; (3) получите обратную связь (ответ аудитории, вопросы, на которые вы не можете ответить); (4) обновите доклад; (5) повторите.
Каждый цикл добавляет модели. Каждое обновление вынуждает контакт с новыми данными. Каждый вопрос аудитории выявляет пробел. За 30 лет модель становится глубокой.
Соединение оборудования, программного обеспечения и приложений
Главы 3, 4 и 5 образуют прогрессию. Хэмминг построил аргумент в трёх лекциях:
Глава 3 (оборудование): физические ограничения ограничивают, что могут делать машины. Три закона — размер молекулы, скорость света, тепло — устанавливают потолки, которые никакая инженерия не может снять.
Глава 4 (программное обеспечение): человеческие ограничения ограничивают, что могут делать программы. Языки, спроектированные для логической элегантности, терпят неудачу; языки, спроектированные для человеческой психологии, выживают. Слои абстракции накапливаются, каждый решает боль предыдущего слоя.
Глава 5 (приложения): экономические и организационные ограничения ограничивают, что строится. Технология следует S-кривым. Общее изменяемое состояние разрушает оптимизацию. Распознавание образов остаётся открытой проблемой.
Объединяющая тема: ограничения смещаются. Практикующий, который обновляет свою модель того, какое текущее ограничение связующее — и позиционирует свои навыки соответственно — постоянно превосходит того, кто оптимизирует для ограничений вчерашнего дня.
Урок карьеры Хэмминга из 30-летнего доклада: повторное повторение одного и того же доклада вынудило его понять тенденции. Механизм был не сам доклад, а цикл подготовки: что изменилось, в каком направлении и почему? Повторённая подготовка создала модель, которую простое чтение не могло.
Какое текущее связующее ограничение?
В структуре Хэмминга каждая эпоха имеет связующее ограничение: ограничение, которое, если его снять, наиболее ускорило бы прогресс. В 1940-х: скорость оборудования. В 1970-х: возможность программного обеспечения. В 1990-х: экономические и организационные возможности.