(Эта колонка, моя 199-я в серии Creative Disruption, опубликована в Westchester Guardian от 14 апреля 2016 г. — http:/ /www.westchesterguardian.com/Community%209.html)

Creative Disruption
Джона Ф. Макмаллена

Creative Disruption – это продолжающаяся серия статей, посвященных влиянию постоянно ускоряющихся технологий на окружающий мир. Эти изменения обычно происходят незаметно для нас, пока мы не обнаружим, что мира, каким мы его знали, больше нет.

Ада Лавлейс к «Глубокому обучению»

C 780–850 — Жизнь Мухаммеда ибн Мусы аль-Хорезми, от имени которого мы получили слово «алгоритм» (а также «алгебра»)

1786 г. Гессенский инженер армии Дж. Х. Мюллер публикует статью с описанием «разностной машины», но не может получить финансирование для продолжения.

1822 г. — Чарльз Бэббидж предлагает разработать такую ​​машину и в 1823 г. получает финансирование от британского правительства. После разработки ранней версии такой машины он указывает гораздо более амбициозный проект «Аналитическая машина», который так и не был завершен.

1843 г. — Ада Кинг, графиня Лавлейс, пишет «Первую компьютерную программу».

1945 — Джон фон Нейман пишет первый черновик статьи, содержащей первое опубликованное описание логического устройства компьютера с использованием концепции хранимой программы.

1946 — Представлен первый работающий электронный компьютер ENIAC.

1948 г. – Экспериментальный компьютер "Манчестерская малогабаритная экспериментальная машина" успешно запустил сохраненную программу.

1956 г. — Джон Маккарти организует первую международную конференцию, посвященную искусственному интеллекту.

1975 — Представлен первый потребительский микрокомпьютер Altair 8800. Узнав о компьютере, Билл Гейтс и Пол Аллен разработали Altair Basic, чтобы позволить Altair запускать сохраненные программы (это был продукт, который запустил Microsoft — тогда он назывался «Micro-Soft»).

1997 — IBM Big Blue побеждает чемпиона мира по шахматам Гарри Каспарова со счетом 3 1/2–2 1/2.

2011 – IBM Watson побеждает Jeopardy Champions.

2016 — Google AlphaGo побеждает игрока в го мирового класса Ли Седоля со счетом 5–1.

Алгоритмыhttps://en.wikipedia.org/wiki/Алгоритм

Мы постоянно слышим такие термины, как «алгоритм», «компьютерная программа» и все чаще «глубокое обучение». , другие термины несколько неуловимы. Обычно обычному человеку не очень важно понимать технические термины, но знание перехода от того, что известно как «Алгоритм Ады» к глубокому обучению, имеет значение для оценки наше стремительное движение к истинному «искусственному интеллекту».

Попросту говоря, алгоритм — это правило или метод выполнения задачи. Какими бы сложными ни были компьютеры, они представляют собой не более чем набор проводов и физических компонентов. Они должны получить указания для выполнения любой задачи или задач, которые нужны владельцам устройства.

Таким образом, если бы компьютер использовался для расчета заработной платы сотрудников, способ сделать это содержался бы в алгоритме расчета заработной платы. Алгоритм будет содержать ряд инструкций или «шагов программы» для правильного завершения его обработки.

Одним из шагов может быть расчет «валовой заработной платы» для сотрудника; инструкция для этого может быть следующей:
"Совокупная — часы * ставка", где * означает умножение.

Однако это очень простое утверждение, которое можно использовать только в том случае, когда никто не может работать сверхурочно, как это определено законодательством штата. Если бы в юрисдикции, где работало больше 40 часов, работало много сотрудников, они должны были оплачиваться в 1,5 раза больше обычной, инструкция могла бы выглядеть так:
"ЕСЛИ часов больше. Чем 40,
ТОГДА обычная брутто = ставка * 40 и OTGross = (часы — 40) * 1,5 (рейт)
ИНАЧЕ обычная брутто = ставка * часы и OTGross = 0
общая брутто = обычная Валовая + OTGросс”

Эта серия инструкций должна быть рассчитана для каждого сотрудника, как и в обычной фирме определение того, является ли сотрудник наемным работником, находящимся на рабочем месте, сколько налогов (если таковые имеются ) должны удерживаться для федерального правительства, штата и города (в зависимости от количества иждивенцев и федерального и соответствующего законодательства штата).

Кроме того, необходимо будет создавать отчеты (и, возможно, проверки). В общем, то, что сейчас кажется нам простым, может показаться очень сложным, когда мы углубимся в детали — в инструкциях не может быть ошибок; они должны быть точными и точными. Даже незначительные ошибки могут привести к крупным финансовым потерям, механическим повреждениям и/или гибели людей.

Аду Кинг, графиню Лавлейс и дочь знаменитого английского лорда Байрона (Джорджа Гордона) называют «первый программист» — даже «первый программист» — хотя в 1843 году не было понимания программирования — и уж точно не было компьютеров. просто потому, что ее запись в блокноте о незаконченной «аналитической машине»продемонстрировала понимание концепций, которые будут важны более 100 лет спустя. (см. книгу Джеймса Эссинджера «Алгоритм Ады» «Как дочь лорда Байрона Ада Лавлейс положила начало цифровой эпохе»», 2014 г., издательство Melville House Publishing, чтобы узнать всю увлекательную и несколько трагическая история). В знак признания ее вклада Министерство обороны США назвало язык программирования, разработанный в 1970-х годах, «Ада».

К тому времени, когда был разработан первый работающий электронный компьютер ENIAC — во время Второй мировой войны, но не завершенный до 1946 года, было хорошо понятно, что компьютер — это не чудовище Франкенштейна, способное «думать» самостоятельно; его нужно было запрограммировать! Первоначальное программирование для ENIAC было выполнено на бумаге и тщательно проверено на предмет логики (отсюда термин «кабинетная проверка») перед тем, как прикасаться к компьютеру. В противном случае это было бы дорого — компьютерное время считалось очень дорогим, и его трата осуждалась. В случае с ENIAC также могла быть большая трата человеческих усилий, поскольку каждую инструкцию приходилось вводить по одной, «перебрасывая» механические переключатели по мере ее выполнения.

Пока разрабатывался ENIAC, знаменитый математик Джон фон Нейман постулировал концепцию «хранимой программы». Программа должна быть написана, протестирована, «отлажена» (найдены и исправлены все ошибки) и сохранена на некотором носителе (перфокарты, бумажная лента и т. д.). При необходимости он загружался в компьютер вместе с данными для обработки и использования (вспомните Microsoft Word, сохранялся на вашем жестком диске или, даже сейчас, "в Облако» и звонил в компьютер только тогда, когда вы хотели написать письмо или создать заметку).

Когда Altair 8800 впервые появился, через 30 лет после ENIAC, он был чисто машиной для любителей возиться, пока не появился Altair BASIC и не позволил использовать сохраненные программы.

В течение более чем 50 лет после ENIAC прогресс в компьютерных технологиях заключался в создании более крупных, быстрых и дешевых компонентов, прорывах в области коммуникаций (таких как Интернет) и улучшенных языках программирования (COBOL, Fortran, BASIC, Ada, C, Forth, APL, Logo, LISP, Pascal, Java и т. д.), а также инструменты, которые сделают разработку программ более эффективной и, надеюсь, более " пуленепробиваемый» (безошибочный).

В то время как этот мейнстрим компьютерного прогресса продолжался, в стороне скрывалась научно-фантастическая мечта об «искусственном интеллекте» (термин, придуманныйДжоном Маккартив середине 1950-х годов) — способность иметь что-то отличное от человеческого, проявлять человеческий интеллект, мечта, восходящая к мифическому Голему и Франкенштейну Мэри Шелли, мечта, которая, как считается, стала гораздо более возможной благодаря появлению компьютерных технологий.

Термин «искусственный интеллект» приобрел множество значений с тех пор, как его придумал Маккарти — робототехника, экспертные системы, рассуждения на основе прецедентов и т. д., но ни одно из них не кажется таким глубоким, как система, имитирующая человеческое обучение.

Деловые и научные системы, разработанные в течение первых 50 с лишним лет электронных вычислений, были основаны на системах, основанных на правилах — «дедуктивных рассуждениях», в которых нам даны общие принципы. а затем мы применяем их к отдельным случаям по ходу дела (например, в приведенном выше примере IF-THEN-ELSE). Короче говоря, мы идем от абстрактного или общего к частному или частному случаю.

Однако люди учатся и обратным путем — от частного к абстрактному или правилу; это индуктивное рассуждение. Если мы выходим из дома, когда идет снег, поворачиваем направо, и снег падает с дерева нам на голову, то рано или поздно мы начинаем поворачивать налево, когда идет снег. Короче говоря, мы учимся и строим правила на основе обучения.

Если мы считаем созданные человеком алгоритмы аналогом дедуктивного мышления, то так называемое глубокое обучение является индуктивной противоположностью: мы можем ставить цели, но затем «сбрасывать в систему» ​​тысячи или миллионы связанных фактов, игр или военных сценариев, а затем, более или менее, сказать: «ты разберешься».

Короче говоря, компьютер пишет алгоритм — и делает это в тысячи раз быстрее, чем человек, основываясь на анализе миллионов взаимосвязанных фактов, больше, чем человек мог бы. Ада бы гордилась!

Я буду рад комментариям к этой статье на [email protected].

Джон Ф. Макмаллен — писатель, поэт, профессор колледжа и радиоведущий. Ссылки на другие произведения, подкасты, радиопередачи на www.johnmac13.com и его книги доступны на Amazon.

© 2016 Джон Ф. Макмаллен