Код для радости: почему каждый должен немного изучить программирование это новая книга от Майкл Литтман, профессор компьютерных наук в Университете Брауна и попечитель-основатель AIhub. Мы поговорили с Майклом о том, что охватывает книга, что вдохновило ее и что мы все знакомы со многими концепциями программирования в нашей повседневной жизни, осознаем мы это или нет.
Не могли бы вы для начала рассказать нам немного о книге и о ее целевой аудитории?
Целевая аудитория — не ученые-компьютерщики, хотя ученые-компьютерщики меня очень тепло приняли, и я это ценю. Идея книги состоит в том, чтобы попытаться помочь людям понять, что указание машинам, что им делать (именно так я отношусь к информатике и искусственному интеллекту), — это то, что действительно доступно каждому. Оно основывается на навыках и практиках, которые уже есть у людей. Я думаю, что это может быть очень пугающим для многих людей, но я не думаю, что это должно быть так. Я думаю, что фундамент есть у каждого, и нужно просто воспользоваться им и строить на его основе. Я надеюсь и вижу, что машинное обучение и искусственный интеллект помогают идти навстречу людям. Машины все лучше слушают, а мы пытаемся научиться лучше говорить им, что делать.
Что побудило вас написать эту книгу, что послужило для вас источником вдохновения?
Я преподавал большие вводные курсы по информатике, и мне кажется, что в них есть важное послание о том, что более глубокие знания в области вычислений могут быть очень полезными, и я хотел донести это до более широкой аудитории.
Не могли бы вы немного рассказать о структуре книги?
Суть книги посвящена фундаментальным компонентам, из которых состоят программы или, другими словами, которые определяют способ, которым мы говорим компьютерам, что делать. Каждая глава посвящена отдельной из этих тем — например, циклам, переменным, условным выражениям. В каждой главе я рассказываю о том, как это понятие уже знакомо людям, как оно проявляется в повседневной жизни. Я указываю на существующие программы или веб-сайты, где вы можете использовать эту конкретную концепцию, чтобы указывать компьютерам, что делать. Каждая глава заканчивается введением в некоторые концепции машинного обучения, которые могут помочь создать конкретную программную конструкцию. Например, в главе об условных предложениях я рассказываю о том, как мы постоянно используем слово «если» в повседневной жизни. Свадьбы, например, построены очень условно, с высказываниями типа «если кому-то есть что сказать, говорите сейчас или молчите навсегда». Это своего рода утверждение «если-то». Что касается инструментов для игры, я говорю об интерактивной фантастике. На полпути между видеоиграми и романами лежит идея о том, что вы можете создать историю, которая адаптируется по мере ее чтения. Что делает это интересным, так это понятие условных предложений: читатель может сделать выбор, и это вызовет ветвление. Существуют действительно замечательные инструменты для реализации этой идеи в Интернете, поэтому вам не нужно быть полноценным программистом, чтобы использовать условные выражения. Представленная здесь концепция машинного обучения представляет собой деревья решений, которые представляют собой более старую форму машинного обучения, когда вы даете системе несколько примеров, а затем она выводит небольшую блок-схему для принятия решений.
Затрагивается ли в книге генеративный ИИ?
К моменту выхода ChatGPT книга уже была в производстве, но я был на шаг впереди, и у меня был раздел, посвященный GPT-3 (до ChatGPT), в котором рассказывается о том, что это такое, как его создает машинное обучение. и как он сам может быть полезен при создании программ. Итак, вы видите это с обеих сторон. Вы понимаете, что этот инструмент на самом деле помогает людям говорить машинам, что делать, а также то, как человечество создало этот инструмент, в первую очередь, с помощью машинного обучения.
Узнали ли вы что-нибудь особенно интересное или удивительное во время написания книги?
Изучение примеров для каждой главы заставило меня углубиться в целый ряд тем. Идея интерактивной художественной литературы и наличие инструментов для создания интерактивной художественной литературы показались мне довольно интересными. Исследуя другую главу, я нашел пример из еврейского молитвенника, который меня просто шокировал. Итак, еврейские молитвенники (не знаю, верно ли это и для других систем верований, но я в основном знаком с иудаизмом) содержат то, что следует читать, но на них мало условных пометок. иногда. Например, можно сказать «не читайте это, если сегодня суббота», или «не читайте это, если сейчас полнолуние», или «не читайте, если сейчас полнолуние в субботу». Я нашел один отрывок, в котором на самом деле было 14 различных условий, которые вам нужно было проверить, чтобы решить, уместно ли читать этот конкретный отрывок. Для меня это было удивительно: я понятия не имел, что люди должны выполнять столько сложных вычислений во время богослужения.
Почему важно, чтобы каждый немного освоил программирование?
Очень важно помнить о том, что в конечном итоге то, что делает ИИ, облегчает нам указание машинам, что делать, и мы должны поделиться этими возросшими возможностями с широкими слоями населения. Не только инженеры по машинному обучению должны легче говорить компьютерам, что делать. Мы должны найти способы облегчить эту задачу для всех.
Потому что компьютеры здесь, чтобы помочь, но это улица с двусторонним движением. Мы должны быть готовы научиться выражать то, что мы хотим, таким образом, чтобы это можно было осуществить точно и автоматически. Если мы не приложим этих усилий, то другие стороны, часто компании, вмешаются и сделают это за нас. В этот момент машины работают, чтобы служить чьим-то интересам, а не нашим собственным. Я думаю, что нам абсолютно необходимо восстановить здоровые отношения с этими машинами, прежде чем мы потеряем еще больше нашей автономии.
Какие-нибудь заключительные мысли или выводы, которые нам следует иметь в виду?
Я думаю, что здесь есть послание и для исследователей компьютерных наук. Когда мы говорим другим людям, что делать, мы склонны комбинировать описание или правило, что-то вроде программы, с примерами, чем-то более похожим на данные. Мы просто смешиваем их, когда разговариваем друг с другом. В какой-то момент, когда я писал книгу, у меня сломалась посудомоечная машина, и я захотел понять, почему. Я прочитал руководство по эксплуатации и был поражен тем, как часто, рассказывая людям, что делать с посудомоечной машиной, авторы последовательно смешивали высокоуровневое описание того, что они говорят вам делать, с некоторыми конкретными , яркие примеры: правило, что загружать на верхнюю полку, и список предметов, соответствующих этому правилу. Похоже, именно таким образом люди хотят как передавать, так и получать информацию. Что для меня безумие, так это то, что мы не программируем компьютеры таким образом. Мы либо используем что-то строго программирование, со всеми правилами, без примеров, либо используем машинное обучение, где только примеры, без правил. Я думаю, что причина, по которой люди общаются друг с другом таким образом, заключается в том, что эти два разных механизма имеют дополняющие друг друга сильные и слабые стороны, и когда вы объединяете их вместе, вы максимизируете шансы на то, что вас правильно поймут. И это цель, когда мы говорим машинам, что делать. Я хочу, чтобы сообщество ИИ задумалось о том, как мы можем объединить то, что мы узнали о машинном обучении, с чем-то более похожим на программирование, чтобы создать гораздо более мощный способ сообщать машинам, что делать. Я не думаю, что эта проблема еще решена, и я очень надеюсь, что люди в сообществе задумаются об этом.
Код для радости: почему каждый должен немного изучить программирование доступен для покупки сейчас.
Майкл Л. Литтман — профессор компьютерных наук в Университете Брауна, изучает машинное обучение и принятие решений в условиях неопределенности. Он получил множество наград университетского уровня за преподавание, а его исследования в области обучения с подкреплением, вероятностного планирования и автоматического решения кроссвордов были отмечены тремя наградами за лучшую работу и тремя наградами за влиятельные статьи. Литтман является содиректором Гуманитарной инициативы Брауна по робототехнике и членом Ассоциации по развитию искусственного интеллекта и Ассоциации вычислительной техники. Он также является членом Американской ассоциации содействия развитию науки, Института лидерства Лешнера по взаимодействию общественности с наукой, специализирующегося на искусственном интеллекте. В настоящее время он занимает должность директора отдела информационных и интеллектуальных систем Национального научного фонда. |
AIhub — это некоммерческая организация, целью которой является объединение сообщества ИИ с общественностью путем предоставления бесплатной высококачественной информации об ИИ.
AIhub — это некоммерческая организация, целью которой является объединение сообщества ИИ с общественностью путем предоставления бесплатной высококачественной информации об ИИ.
Люси Смит — управляющий редактор AIhub.