Управление gpio через web. Raspberry Pi: настройка и управление. Создание скриншотов на Raspberry Pi

Недавно в «Новой газете» появился обзор нон-фикшн книг 2016 года. Редактор отдела политики Кирилл Мартынов выбрал 10 научно-популярных изданий, «чтение и обсуждение которых помогает прояснить момент, в котором мы живем». В список попала книга американского философа Ника Бострома «Искусственный интеллект» . Автор обзора пишет: «Тема развития нейросетей, искусственного интеллекта и автоматизации рабочих мест белых воротничков является ключевой для современной культуры и экономики».

Мы согласны: тема очень важная и серьезная. Поэтому в сегодняшней рубрике рассказываем о перспективах появления сверхразумных машин.

Фильмы о киборге-терминаторе популярны во всем мире уже более тридцати лет. В 2015 году на экраны вышла пятая картина из этой серии. Но задумывается ли кто-то из зрителей, что подобное развитие событий не так уж фантастично? Сверхразумные машины действительно могут появиться. Однако вряд ли люди будут способны им противостоять, как в популярном боевике.

Преимущества искусственного интеллекта

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

  • Скорость вычислительных элементов. Пиковая скорость работы биологических нейронов - около 200 Гц, что на семь порядков медленнее современных микропроцессоров.
  • Количество вычислительных элементов. Очевидно, что количество нейронов в биологическом существе ограничено объемом черепа и особенностями метаболизма. В отличие от биологического мозга, компьютерное оборудование масштабируется до гигантских физических размеров. Суперкомпьютеры могут быть размером со склад или даже больше, причем с помощью высокоскоростных кабелей к ним можно подключать дополнительные удаленные вычислительные мощности.


Суперкомпьютер Titan.

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

Смогут ли машины думать?

Полагаете, компьютеры никогда не станут умнее людей? Но некоторые программы уже легко побеждают чемпионов мира в интеллектуальных играх. Например, программа «Чинук» еще в 1994 году обыграла действующего чемпиона мира по шашкам, программа TD-Gammon превосходит лучших игроков в нарды, а суперкомпьютер Deep Blue в 1997 году победил чемпиона мира по шахматам Гарри Каспарова.


Тот самый Deep Blue. Сейчас он находится в музее компьютерной истории в Калифорнии.

Вот еще несколько фактов, которые показались бы нашим предкам фантастикой:

  • Система «Логик-теоретик» сумела доказать почти все теоремы из второго тома «Оснований математики» Альфреда Уайтхеда и Бертрана Рассела, что демонстрирует способность машины к дедукции и логическим построениям.
  • Робот «Трясучка» показал, что машина может продумывать и контролировать свою двигательную активность, когда логическое мышление совмещено с восприятием окружающей действительности.
  • Программа ELIZA прекрасно имитирует поведение психотерапевта.
  • В середине 1970-х годов программа SHRDLU продемонстрировала, как смоделированный робот в смоделированном мире спокойно манипулирует объемными геометрическими фигурами, не только выполняя инструкции пользователя, но и отвечая на его вопросы.
  • В последующие десятилетия были созданы программы, способные сочинять классическую музыку разных жанров, решать проблемы клинической диагностики быстрее и увереннее врачей-стажеров, самостоятельно управлять автомобилями и делать патентоспособные изобретения.

Вряд ли сейчас подобные факты смогут произвести хоть какое-то впечатление. Но это обусловлено тем, что наши представления о стандартах несколько смещены, поскольку мы уже знакомы с выдающимися достижениями в компьютерном мире.

Современные программы все еще далеки от того, что можно назвать сверхразумом. Однако многие ученые уверены: он появится, причем довольно скоро.

Машина-ребенок, эволюция и непрерывное совершенствование

Математик Алан Тьюринг еще в 1950 году высказал мысль о том, что можно использовать обучение как средство развития простой системы: «Почему бы нам, вместо того чтобы пытаться создать программу, имитирующую ум взрослого, не создать программу, которая бы имитировала ум ребенка? Ведь если ум ребенка получает соответствующее воспитание, он становится умом взрослого человека».

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


Тьюринг говорил и о том, что процесс создания искусственного интеллекта будет иметь много общего с эволюцией: «Вряд ли нам удастся получить хорошую „машину-ребенка“ с первой же попытки. Надо провести эксперимент по обучению какой-либо из машин такого рода и выяснить, как она поддается научению. Затем провести тот же эксперимент с другой машиной и установить, какая из них лучше. Существует очевидная связь между этим процессом и эволюцией в живой природе…»

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


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

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

Сценарии: медленный, умеренный и быстрый

Если взлет интеллекта с человеческого на сверхразумный произойдет, то он будет развиваться по одному из трех сценариев:

1. Медленный взлет . В этом случае у человечества впереди еще достаточно времени - десятилетия или даже столетия, - чтобы хорошо подумать, как действовать в новых условиях. Мы сможем рассчитать свои ходы и обучить специалистов. Также нам будут доступны последовательное тестирование различных подходов, разработка более совершенных систем безопасности, возможность провести необходимые переговоры.

2. Быстрый взлет. Он случится почти мгновенно - за считанные минуты, часы, дни, - и мы вряд ли сможем хоть как-то среагировать. Скорее всего, мы проиграем, даже не успев осознать, что происходит.

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

Если вы думаете, что медленный сценарий - самый правдоподобный, то заблуждаетесь. Скорее всего, мы увидим быстрый взлет искусственного интеллекта.

К чему может привести появление сверхразума

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

Но представим, что искусственный интеллект появился, и мы, несмотря на тревожные ожидания, вполне мирно сосуществуем. В этом предполагаемом будущем работники-машины, более способные и дешевые, чем работники-люди, заменят нас практически во всех профессиях.


Если и останутся какие-то рабочие места, зарплаты упадут ниже уровня прожиточного минимума. Допустим, при этом люди все еще владеют капиталом. Тогда в целом доход человечества станет огромным, но вряд ли это богатство достанется всем.

Скорее всего, нас ждет нищенское существование, а единственным источником дохода окажутся государственные пособия. Снижение доходов и ряд других обстоятельств приведут нас к тому, что мы регрессируем и будем не в состоянии вести активную жизнь.

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

Все эти сценарии довольно угрожающие, но у нас есть одно огромное преимущество: первый шаг все же остается за нами. О роботах и компьютерах, появлении искусственного интеллекта и будущем человечества читайте в книге-предостережении Ника Бострома, профессора кафедры философии в Оксфорде.

Правообладатель иллюстрации Thinkstock Image caption Симбиоз человека и машины - один из путей развития человечества

Умные машины научились блефовать, обыгрывать профессионалов в шахматы или Го, переводить и распознавать человеческий голос. Каждую неделю мы узнаем о все новых подвигах компьютерных программ, уже умеющих ставить медицинские диагнозы, рисовать не хуже Рембрандта, петь или генерировать текст. Стоит ли человеку опасаться искусственного интеллекта?

По-настоящему "горячей" тема искусственного интеллекта (ИИ/AI) стала в последние несколько лет. Ученые связывают это с бурным развитием нейронных сетей (одно из направлений исследований в области искусственного интеллекта), которое, в свою очередь, стало возможным с появлением мощных компьютеров.

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

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

Этот м атериал подготовлен в качестве ответа на вопрос ы , присланны е нашими читателями о научных достижениях . Задать свои вопросы по другим темам вы можете по этим ссылкам ( , ).

Экономический эффект и влияние на рынок труда

Научная фантастика и Голливуд сформировали представление об "искусственном интеллекте" как о следующей форме жизни на планете, которая поработит человечество в Матрице или организует ему ядерный Судный день. Выживших добьет Терминатор.

Правообладатель иллюстрации Getty Images Image caption Умрет ли человечество от Skynet?

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

По оценкам исследовательской организации McKinsey Global Institute, в ближайшие десять лет новые технологии радикально изменят рынок труда на планете, что позволит сэкономить порядка 50 трлн долларов.

Изменения коснутся сотен миллионов рабочих мест. Люди все больше и больше будут перекладывать часть своих служебных заданий и многие рутинные задачи на машину, что позволит им сосредоточиться на творческой работе.

"С некоторой точки зрения у человечества в целом есть важная и интересная задача - развиваться каждому конкретному индивидууму гораздо быстрее, чем человечество развивает системы искусственного интеллекта", - считает эксперт, директор по распространению технологий "Яндекса" Григорий Бакунов.

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

Пострадать, как показывает практика, могут не только синие воротнички, но и работники умственного труда. Несколько дней назад Goldman Sachs заменил команду из 600 трейдеров на двух человек и автоматизированные программы алгоритмического трейдинга, для обслуживания которых были наняты 200 разработчиков-программистов.

Правообладатель иллюстрации Thinkstock Image caption Многие задачи вскоре станут по силам роботизированным системам, которые последовательно начнут заменять людей

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

Среди вариантов решения проблемы вытеснения человека машиной на рынке труда, как указывает Аллисон Дютман, координатор программ Foresight Institute - некоммерческой организации, базирующейся в Силиконовой долине для продвижения новых технологий, - введение понятия "универсальный базовый доход", который бы получал каждый житель вне зависимости от уровня дохода и занятости. Подобный доход финансировался бы за счет так называемого инновационного налога Land Value Tax, введение которого сейчас активно обсуждается в Силиконовой долине.

Личность ли искусственный интеллект?

Является ли роботизированная система личностью? Может ли умный компьютер голосовать? Какого он пола? Отношения человека и умной машины уже сейчас обсуждают депутаты Европарламента, задаваясь вопросом, следует ли наделять будущих роботом статусом "электронной личности".

Как указывает Дютман, люди нехотя делятся правами с теми, кто им непонятен, а значит будут сопротивляться "очеловечиванию" ИИ.

Правообладатель иллюстрации AFP Image caption Человека и машину разделяет главное - способность думать

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

Вместе с этическими появляются и юридические тонкости: кто возьмет на себя ответственность в случае аварии беспилотного автомобиля или поломки умного медицинского устройства - и нравственные вопросы: стоит ли развивать беспилотное оружие, способное действовать без ведома человека?

Третья этическая головоломка обсуждается чаще других и волнует человечество гораздо больше: что теоретически может сделать с человечеством суперинтеллект, настоящая умная машина?

Научить ИИ этике

Специалисты в области развития ИИ признают: пусть не в ближайшие 20-30 лет, но человечество все же доживет до появления настоящего искусственного интеллекта, который будет умнее своего создателя.

"Последний бастион будет взят тогда, когда будет создан так называемый "сильный ИИ" (Strong AI, Artificial General Intelligence), то есть такой ИИ, который будет способен решать неопределенно широкий спектр интеллектуальных задач", - говорит Сергей Марков.

А главное, такой ИИ сможет самостоятельно думать.

Исследованием угроз, которые таит ИИ, а также этическими проблемами, связанными с новыми технологиями, занимаются многие институты, в числе которых организация Future of Life Institute (Институт будущего жизни), Foresight Institute, Future of Humanity Institute, OpenAI и другие.

Решение Аллисон Дютман из Foresight Institute - дать компьютеру прочитать всю научную литературу, научные статьи, поднимающие вопрос об этике, и сделать эту информацию основой для его будущих решений.

Что такое Нейронные сети и какое у них будущее?

Большинство экспертов связывают прогресс в развитии ИИ с развитием нейронных сетей.

Нейронные сети - это одно из направлений исследований в области искусственного интеллекта, основанное на моделировании биологических процессов, которые происходят в человеческом мозгу.

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

Правообладатель иллюстрации iStock Image caption Именно с развитием нейронных систем связывают ученые развитие искусственного интеллекта

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

И это несмотря на то, что современные нейронные сети устроены в полторы тысячи раз проще, чем головной мозг крысы.

"Пока что создаваемые нами нейронные сети относительно невелики по сравнению, скажем, с нейронной сетью человеческого мозга и, кроме того, они представляют собой весьма упрощенный аналог естественных нейронных сетей. Поэтому пока что при помощи нейронных сетей мы решаем в основном сугубо прикладные задачи", - рассказывает Сергей Марков.

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

Разработчики не просто заняты сейчас увеличением количества нейронов в сети, но и изменением конструкции сетей. "Сложные системы конфигурации сетей - то, с чем сейчас производится наибольшее число экспериментов", - рассказывает Григорий Бакунов.

Правообладатель иллюстрации iStock Image caption "Умных" помощников человека в ближайшее время станет больше - микросенсоры в стене, сенсор размером с пуговицу, оповещающий человека в случае опасности

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

Что нас ждет в ближайшее время

Как прогнозирует профессор Университетского колледжа Лондона и Principal Scientist Nokia Bell Labs Ник Лейн, человека будут окружать еще больше "умных вещей". Они станут компактнее и эффективнее.

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

Сенсор размером с пуговицу сможет оповещать человека в случае опасности.

С профессором согласен и Григорий Бакунов из "Яндекса": "В ближайшее время нас ждет бум развития узких искусственных интеллектов, которые помогают решать какую-то одну довольно простую задачу, но которую они будут решать даже лучше, чем человек".

Правообладатель иллюстрации iStock Image caption Все больше появляется этических вопросов, связанных с развитием ИИ

"Наиболее вероятным путем развития нашей цивилизации является путь синтеза человека и машины: палка, одежда, автомобиль, мобильный телефон, кардиостимулятор или кохлеарный имплантат - по мере развития наши инструменты все более и более напоминают продолжение наших тел. Уже завтра машины смогут получать от человека мысленные команды, воспринимать мысленно формируемые визуальные образы, передавать информацию непосредственно в мозг - такие проекты уже сейчас существуют за стенами наиболее продвинутых технологических лабораторий", - подытоживает Сергей Марков.

Журналисты пока еще нужны?

Газета Financial Times в прошлом году провела довольно рискованный эксперимент, одновременно поставив задачу написать текст своему профильному корреспонденту и умной программе по имени Эмма. Обе статьи затем должен был прочитать редактор Financial Times и угадать, за какой из двух заметок стоит журналист, а за какой компьютер.

Перед этим своеобразным "краш-тестом" корреспондент Financial Times признавалась: "Я думаю, программа точно справится с задачей быстрее меня. Но, надеюсь, я все-таки сделаю это лучше".

Так и случилось: Эмма действительно оказалась быстрее - программа сгенерировала текст на основе статистики об уровне безработицы в Британии за 12 минут. Журналистке потребовалось 35 минут. И, как она сама впоследствии признавалась, Эмма превзошла ее ожидания. Программа не только умело обращалась с фактами, но и поставила новость в контекст, предположив, как возможный "брексит" (дело было в мае 2016 года, до референдума о выходе Британии из ЕС) может изменить ситуацию.

Правообладатель иллюстрации Thinkstock Image caption Заменят ли людей роботизированные системы? Лет 50 у человечества в запасе есть, успокаивают специалисты

Но кое-что Эмма сделала все же хуже журналистки. "Статья Эммы была написана немного более корявым языком. Но главное, в ней было очень много цифр, - признавался редактор FT. - А, пожалуй, главное, что мы тут пытаемся делать, так это выбирать только действительно важные цифры".

Эмма - продукт стартапа Stealth. В компании говорят, что у Эммы есть команда живых помощников, но утверждают, что все, что она пишет или делает, - продукт исключительно ее "мозгов".

И все-таки - надо ли бояться ИИ?

Многие, если не все специалисты, задействованные на сегодняшний день в разработке систем искусственного интеллекта, охотно признают, что ИИ не скоро сделает людей ненужными. Именно потому, что искусственный интеллект еще не настолько умен. Главное, чего ему на сегодняшний день не хватает, - автономной возможности думать.

"Сейчас бояться ИИ ни в каком виде не стоит. Можно подождать лет 30-40, пока действительно какие-то радикальные изменения произойдут", - считает Бакунов.

Но кое-что уже происходит: понемногу стирается грань между работой или задачей, выполненной человеком, и задачей, выполненной машиной. Как объясняют специалисты, уже сейчас порой бывает сложно понять, кто сидит внутри системы - человек или машина.

"Нет критериев, когда мы сможем понять, что внутри машины зародилось сознание", - задается вопросом Бакунов.

Человек станет скрепкой?

Известный адепт алармистской точки зрения, в рамках которой ужасы, описанные в Терминаторе, могут стать реальностью, - философ Ник Бостром - придерживается мнения, что достигший интеллектуального уровня человека ИИ способен будет уничтожить человечество.

Правообладатель иллюстрации Getty Images Image caption Станет ли описанное в фильме нашей повседневной реальностью?

Бостром объясняет на примере скрепок: вы ставите перед искусственным интеллектом задачу делать скрепки, как можно больше и лучше. ИИ в какой-то момент понимает, что человек представляет угрозу, потому что может выключить компьютер, что будет противоречить задаче делать как можно больше скрепок. В случае, если человек не представляет угрозу, ИИ решает, что человеческие тела состоят из атомов, которые можно использовать для производства отличных скрепок. Итог - компьютер изведет человечество на скрепки.

Такой сценарий многим кажется преувеличением. По мнению Сергея Маркова, например, "высокая эффективность выполнения нелепой цели несовместима с нелепостью этой цели - грубо говоря, ИИ, способный переделать весь мир в скрепки, будет неизбежно достаточно умен для того, чтобы отказаться от такой цели".

Искусственный интеллект как золотая рыбка

Британский специалист в области искусственного интеллекта, профессор когнитивной науки в Университете Сассекса Маргарет Боден относится к утверждениям о скором пришествии умных машин скептически.

Правообладатель иллюстрации Getty Images Image caption В мае 1997 года компьютер Deep Blue II впервые выиграл матч у Гарри Каспарова

Профессор приводит пример "золотой рыбки", когда в обмен на свободу рыбак загадывает три желания. Одно из желаний - вернуть сына с войны, второе - 50 тысяч долларов и третье - возможность наутро загадать еще одно желание.

В тот же вечер в дом рыбака постучали. Сына вернули с войны - в гробу. Рыбак получил страховку в 50 тысяч долларов.

"Замените в этой притче рыбку на ИИ, и все станет ясно - объясняет Боден. - Ах, да, на следующий день рыбак воспользовался третьим желанием и - отменил предыдущие два".

Возможен ли перенос сознания в машину?

Сергей Марков:

"Если говорить о возможности полного переноса сознания, то современными предшественниками такой технологии будущего являются проекты, подобные Blue Brain, направленные на создание действующих электронных аналогов мозга, а также проекты, направленные на создание интерфейсов мозг-машина (BCI) - аппараты для протезирования потерянного зрения, слуха, замены утраченных конечностей, даже частей мозга.

Правообладатель иллюстрации Science Photo Library Image caption Цель специалистов в области ИИ - создать "сильный искусственный интеллект", который был бы способен решать широкий спектр задач

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

Когда будет решен широкий спектр инженерных задач в рамках таких частных проектов, я думаю, что задача переноса сознания станет вполне разрешимой. Уже сейчас мечтатели предлагают гипотетические схемы для осуществления подобного проекта.

Например, Ян Корчмарюк, предложивший в свое время название "сеттлеретика" для направления исследований, связанных с переносом сознания, считает, что наиболее перспективной схемой является использование специализированных нанороботов, внедряемых в нейроны человеческого мозга. Впрочем, для успешного воплощения подобной схемы необходимо решить целый ряд сложных инженерных проблем".

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

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

Приехал я в Нью-Йорк за день до начала мероприятия и, как оказалось, в самый разгар очередного гей-парада, поэтому все витрины магазинов, фасады зданий и символ города Empire State Building были раскрашены в цвета радужного флага. Отчасти это задало тон поездке. На следующий день, погуляв и проникнувшись духом города, я поехал регистрироваться на конференцию.

О конференции

Конференция оказалась довольно масштабной и включала около 80 выступлений, проходивших параллельно в семь потоков, поэтому очно мне удалось посетить лишь небольшую часть. Для остального пришлось ждать видеоматериалов - O’Reilly всегда их публикует на safarionlinebooks , и там же можно посмотреть видео с предыдущих конференций (правда нужна подписка).

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

Говоря о представленных на конференции компаниях, можно выделить три большие группы. Первая – это вездесущие технологические гиганты вроде Google, IBM, Microsoft, Amazon и др. Вторая – молодые компании и смузи-ориентированые AI-ориентированные стартапы, в коих сейчас недостатка нет. И третья – это представители академической среды – основной поставщик новых теорий, подходов и алгоритмов. Лично на меня выступления последних, как правило, производят наибольшее впечатление.

Ввиду короткого формата выступлений (на каждую лекцию вместе с вопросами отводилось всего 45 минут) в них было очень мало математики или алгоритмов, в основном описывались общие идеи и демонстрировались примеры их применения. В целом это понятный подход, если что-то тебя заинтересовало - welcome, гугли эту тему в интернете и изучай её более подробно. Поэтому для себя я сформулировал цель посещения подобных мероприятий так – понять, какие темы на слуху и в каком направлении развивается индустрия.

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

Вообще, когда мы говорим «искусственный интеллект», воображение чаще всего рисует нечто подобное.

Но на самом деле ИИ - не только и столько про роботов, это гораздо шире. По сути речь идет о любой интеллектуальной системе или программе, способной в условиях большой неопределенности решать задачи, традиционно считавшиеся прерогативой человеческого интеллекта.

О глубоком обучении

Первый день организаторы отвели под мастер-классы. В основном это были туториалы по всевозможным фреймворкам глубокого обучения (deep learning), которых сегодня «на слуху» около 10 штук и которые, на мой личный взгляд, как две капли воды похожи другу на друга.

Глубокое обучение - это процесс обучения многослойных нейронных сетей, оптимизированных для работы с данными сложных иерархических форматов, и в последнее время ставший стандартным подходом для анализа текстов, изображений, аудио/видео данных и временных рядов.

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

В глубоких сетях выделяют 2 базовых архитектуры: сверточные (CNN, Convolutional Neural Networks) и рекуррентные сети (RNN, Recurrent Neural Networks). Первые используются в основном для работы с изображениями, а вторые - для анализа текстов и любых последовательностей. Все остальные архитектуры - вариации на тему этих двух.

Чтобы аналитики не занимались реализацией низкоуровневой логики, за несколько лет появилось множество API, упрощающих разработку таких сетей и сводящих ее к конфигурации нужной архитектуры. Здесь перечислены почти все:


Я решил не мудрить и выбрал два наиболее популярных: TensorFlow и Keras.

Keras – один из наиболее высокоуровневых инструментов в этой серии, по сути являющийся Lego-конструктором. Разработка приложения сводится к выбору архитектуры сети, числа слоев, нейронов и активационных функций. Простейшие глубокие сети в Керасе собираются в 10 строк кода, что делает этот инструмент идеальным для быстрого старта или прототипирования.

TensorFlow, наоборот, один из наиболее низкоуровневых инструментов. Google его позиционирует как пакет для любых символьных вычислений, не только для глубоких сетей. На мой взгляд, одна из киллер-фич – это обалденная динамическая визуализация. Чтобы понять, о чем идет речь, можно посмотреть, например, .

TensorFlow является основной технологией для огромного числа AI-проектов и помимо Гугла используется в IBM, SAP, Intel и много где еще. Важный его плюс – большой репозиторий готовых к использованию моделей.

Второй и третий дни были отведены под лекции. После утренней обзорной сессии с короткими десятиминутными выступлениями о достижениях индустрии, шел блок из 6 лекций.

Deep Learning в банках

Мне всегда была интересна тематика применения глубоких сетей не для очевидных картинок и текста, а для более «традиционных» структурированных данных, поэтому первой лекцией я выбрал рассказ Эрика Грина из Wells Fargo AI Labs об анализе транзакционных данных в банках.

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

Идея предложенного подхода очень простая – сначала история транзакций записывается в неком структурированном формате, после этого каждый атрибут транзакции кодируется определенным числом (word embedding), а затем к получившимся векторам применяются глубокие сети (CNN или RNN). Такой механизм универсален и позволяет решать как задачу классификации, так и задачи прогнозирования и кластеризации транзакций. К сожалению, с точки зрения подачи материала лекция оказалась довольно слабой, и у автора выудить детали по качеству данного решения не удалось.

Зато следующий рассказ о совместном проекте Teradata и датского Danske Bank по внедрению антифрод-решения на базе глубокого обучения получился куда лучше. Задача была повысить качество обнаружения мошеннических транзакций. Ребята описывали довольно интересное решение, связанное с представлением транзакций в виде «псевдокартинки» и последующим применением сверточной нейронной сети.

Ниже приведен пример такой псевдокартинки, где по горизонтали отложены атрибуты транзакции, а по вертикали моменты времени. Кроме того, вокруг каждого атрибута (выделены светло-синим) по часовой стрелке отложены наиболее коррелированные с ним атрибуты. Такое представление позволяет легко находить аномальные паттерны в поведении клиентов.


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

Правда на вопрос «Как такое решение будет проходить европейские требования GDPR по интерпретируемости модели» ребята так и не ответили. Будь он задан мне, я бы отослал к такой замечатльной штуке как LIME - интерпретатору сложных нелинейных моделей.

Дальше я пошел на панельную дискуссию с тремя девушками, владельцами AI-ориентированных стартапов. Дискуссия была о том, как выстроить эффективный бизнес в сфере AI. По факту сессия оказалась самой бесполезной: несмотря на обещанный «no fluff» в названии, никаких секретов раскрыто не было, а «общие» вопросы чередовались «общими» ответами. Единственное, что запомнилось из лекции, это выступавшая там девушка с необычным именем Коко (по совместительству профессор MIT).

Что там в Amazon

Далее меня заинтересовала лекция от Amazon про фреймворк распределенного глубокого обучения Apache MXNet . Я рассчитывал на мини-туториал по данному фреймворку, но по факту 90% рассказа были посвящены рекламе сервисов Amazon, а в оставшиеся 10% MxNet была упомянута просто как основная платформа для глубокого обучения, использующаяся во всех сервисах Амазона.

Среди достижений народного хозяйства компании были представлены:

  • голосовой помощник Alexa ,
  • телепомощник Amazon Show - вариант Alexa с камерой и дисплеем,
  • Amazon X-Ray – встроенный в видеоплеер помощник, который по стопкадру может показать биографию актера, а также вывести информацию о сюжете и персонаже,
  • а также Amazon - магазин без кассовых аппаратов (мечта гопника) – просто набираешь продукты в корзину и идешь на выход, магазин сам определяет состав продуктов в корзине и списывает деньги со счета. Магазин сейчас работает в beta-режиме (только для сотрудников).


Во всех перечисленных выше проектах в том или ином виде используется глубокое обучение и, в частности, фреймворк Apache MxNet.

«Железная» логика

Далее выступал представитель Numenta – компании, которая занимается разработкой систем, моделирующих работу Неокортекса (части мозга человека, отвечающей за высокоуровневую интеллектуальную деятельность и обучение). Идея – построить обучающиеся структуры, более близкие по своей архитектуре мозгу человека, чем сегодняшние нейронные сети. В основе лежит теория иерерархической темпоральной памяти (Hierarchical Temporal Memory), которая описывается в книге Джефа Хокинса 2004 года «Об интеллекте». Собственно, он же и основал компанию Numenta.

Сами авторы позиционируют свой проект как исследовательский и, несмотря на то, что алгоритм может решать разные задачи, пока нет результатов, подтверждающих, что подход работает лучше традиционных глубоких нейронных сетей. У выступавшего Мэта Тейлора есть канал на YouTube (HTMSchool), но он мне, честно говоря, не понравился и для ознакомления я бы рекомендовал все-таки печатные материалы.

Тема «железа» (AI acceleration) на конференции поднималась достаточно часто. Многие компании занимаются разработкой высокопроизводительных вычислительных комплексов, оптимизированных специально под обучение нейронных сетей. Известные примеры это процессоры Google TPU (tensor processing units), GPU дата-центры от Nvidia, или созданный в 2014 году компьютер TrueNorth от IBM, своей архитектурой повторяющий модель неокортекса. С ростом объемов данных скорость обучения становится важным конкурентным преимуществом.

Когда роботы захватят людей

Далее был интересный доклад Кэти Джордж из McKinsey о потенциале автоматизируемости профессий. Частично о результатах можно почитать на McKinsey (к сожалению, в виде единой pdf у них не нашел).

Каждую профессию они рассматривали как комбинацию определенных действий и смотрели, какой процент этих действий может быть автоматизирован с учетом текущих технологий. Результаты меня удивили! Несмотря на то, что потенциал для автоматизации есть почти во всех профессиях, полностью автоматизированы могут быть всего 5% позиций. Что немножко расходится с популярной риторикой о том, что через год роботы поработят всех юристов (или как там было...).

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

Любопытно, что зависимость автоматизируемости от оплаты труда имеет форму треугольника – высокооплачиваемые профессии мало автоматизируются, а вот среди низкооплачиваемых разброс намного больше.

Интересно, что если смотреть потенциал по разным индустриям, то на первое место авторы поставили горячо любимую в нашей компании задачу персонализированного маркетинга (personalized advertizing).

День второй

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

Генерация искусства

Даг Эк из Google рассказывал о проекте Google Magenta – открытом репозитории моделей для создания музыки и рисунков.

Затем был рассказ про сеть sketch-RNN, электронного художника, работающего на базе автоэнкодера и умеющего перерисовывать нарисованные от руки картинки и символы.

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


Слева – котэ, нарисованный человеком, а справа - сгенерированный машиной образ.

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

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

Покер и теория игр

Другое известное применение искусственного интеллекта – это соревнование с человеком в азартных (и не очень) играх. Томас Сендхолм из Carnegie-Melon University рассказывал об игре в покер. Все знают, что машина давно обыгрывает человека в шахматы, слышали про недавнюю победу в Go, но выигрыш искусственного интеллекта в покерном турнире в этом году не получил большой огласки.

В теории игр игра с неполной информацией – та, в которой игрок не видит карт соперника. Из-за этого на каждом шаге ему приходится иметь дело не с детерминированным деревом игры, а с вероятностями и их матожиданием. Такие игры сложнее, так как необходимо просчитывать большее количество комбинаций. Решить игру означает найти оптимальную стратегию. Если упрощенные версии покера с помощью брут-форса были решены относительно давно, то более сложный вариант noLimit texas Holdem содержит 10^161 (больше числа атомов во Вселенной) вариантов игры, и прямое решение здесь невозможно.

Для решения использовался мощный суперкомпьютер, в реальном времени обрабатывающий поступающую информацию от игрового стола (Libratus), а в качестве математического алгоритма метод Monte-Carlo Counterfactual Regret Minimization.

Турнир я не видел, но говорят, вопреки ожиданиям AI играл довольно «тайтово», делал большие ставки, «давил банком» и брал «на понт».


Для индустрии азартных игр это означает перспективу роботизации, сравнимую с роботизацией рынка ценных бумаг.

Беспилотные авто

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

Анка Драган из Berkley рассказывала о проблемах поведения беспилотных авто на дорогах. Для «затравки» было приведено два примера.

Первый пример: в штатах тестируемая гугломашина простояла два часа на перекрестке, пропуская другие машины, поскольку не могла вклиниться в поток. Вторым примером было показано видео а-ля телепередача «Водить по-русски», в котором где-то на просторах Миннесоты грузовик не дает перестроиться машине в свой ряд и «отжимает» легковушку обратно.

Сейчас разрабатываемые беспилотники воспринимают другие машины как препятствия, от которых нужно держаться подальше: если робот видит, что машина не уступает дорогу, он не будет к ней соваться. Но такая модель поведения (defensive behavior) будет крайне неэффективной: на перекрестке такие беспилотники могут пропускать другие машины до бесконечности, а на дороге не смогут даже перестроиться на съезд.

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

Про Doom, или что еще умеют глубокие сети

Далее была лекция Руслана Салахутдинова из Carnegie-Melon University и Apple с обзором возможностей глубокого обучения для решения различных задач. С точки зрения подачи материала, на мой взгляд, это была одна из лучших лекций. Вообще, интересующимся глубоким обучением рекомендую ознакомиться с лекциями данного товарища, коих в интернете достаточно (например, ). Приведу несколько примеров.

За последние несколько лет глубокие сети совершили прорыв, не только количественный, но и качественный – начали появляться новые задачи, комбинирующие визуальную и текстовую аналитику. Если 2-3 года назад сети умели только классифицировать тематику картинки, то теперь они легко могут дать словесное описание всей сцены на естественном языке (задача caption generation).

Кроме того, подобные системы умеют явно выделять на картинке объекты, соответствующие каждому отдельному слову из описания (так называемые Visual Attention Networks).

Основной вектор развития рекуррентных сетей связан с переходом к более совершенным механизмам запоминания контекста. В свое время в сфере рекуррентных сетей подобный прорыв совершили LSTM (long short-term memory) сети. Сейчас также разрабатываются сети с разными моделями памяти и один из таких вариантов - это сети MAGE, memory as acyclic graph enconding, способные моделировать долговременные ассоциации в тексте.

Или совсем поражающая воображение штука - сети с динамической памятью (Dynamic Memory Networks), которые не просто анализируют картинки или текст, но еще умеют отвечать на любой заданный вопрос касательно этой картинки или текста.

Далее был интересный блок про обучение с подкреплением (reinforcment learning). С появлением глубокого обучения данный подход получил всплекс интереса. Новые алгоритмы также пытаются задействовать механизм памяти.

В двух словах, Reinforcment Learning – это обучение оптимальному поведению. Какие-то действия системы поощряются, какие-то штрафуются, и задача системы научиться правильно действовать. Основное отличие от обучения с учителем в том, что система получает поощрение не при каждом действии, а довольно редко, поэтому она должна самостоятельно выстраивать весьма сложные стратегии поведения.

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

Результат работы традиционного RL (без памяти) был продемонстрирован на примере игры Doom. Для обучения использовались несколько классических карт. За найденный ключ или убитого врага следовало поощрение, а например, за падение в лаву – наказание. Если на первых итерациях обучения бот упирался лбом в стену, то спустя 8 часов обучения, он с полоборота сносил игроков так, что те не успевали ничего понять. Система отлично обобщала получаемые знания и одинаково хорошо играла как на старых, так и на новых картах.

Если для шутеров классический RL вполне подходит, то для более сложных игр с логическими заданиями уже требуется запоминание контекста, т.е. наличие памяти. Для этого был разработан класс алгоритмов Reinforcment Learning with Structured Memory.

Про компьютерное зрение

Исторически самое первое применение глубоких сетей – это анализ изображений. Лекция от Microsoft была посвящена технологиям компьютерного зрения. Тимоти Хейзен выделил четыре основные задачи:
  • классификацию изображений,
  • поиск объектов на картинке (object detection),
  • сегментацию - выделение связных областей,
  • определение схожести.

Если до 2012 года бал правили традиционные подходы, когда генерация фичей для обучения модели выполнялась вручную (HOG, SIFT и прочее), то в 2012 году прорыв в качестве распознавания совершила глубокая нейронная сеть AlexNet. В дальнейшем глубокие архитектуры стали стандартом.

В области компьютерного зрения бенчмарком является конкурс ImageNet , на котором тестируются все новые архитектуры. В 2016 году первое место заняла сеть от Microsoft ResNet, содержащая больше 150 слоев. На картинке ниже приведено сравнение точности известных сверточных сетей. Тенденнция к увеличению количества слоев на лицо, однако вместе с ней актуальной становится проблема «убывающего градиента» - обучать такие сети все сложнее. Можно предположить, что дальнейшие улучшения будут связаны с изменением архитектуры сетей, а не в увеличении числа слоев.

В качестве примера приводилось четыре любопытных проекта, которые Microsoft делал в качестве консультантов.

  • Трекинг передвижения снежных леопардов в условиях дикой природы (подробнее )
  • Умный холодильник – когда заканчивается пиво, он отправляет владельцу срочную смску с предупреждением или сам делает заказ в магазине.
  • Распознавание аэрофотоснимков для анализа развития территорий ().
  • Избитая идея для Fashion-стартапа, когда по картинке определяется, что надето на человеке, и ищется максимально похожая одежда в ближайших магазинах. Кстати, если кому-то интересно, есть открытый датасет со шмотками.
Разумеется, не обошлось без рекламы двух своих продуктов: Cognitive Toolkit (CNTK) и Custom Vision – облачного сервиса для классификации изображений.

Я решил протестировать функционал Custom Vision и попробовал научить бинарную модель классификации отличать хипстеров от гопников. Для этого загрузил около 1000 изображений, из поиска Google Images. Никакой предобработки не делал, загружал как есть.

Модель обучалась несколько минут и в целом результаты получились неплохие (Precision: 78%, Recall: 89%). Да и на новых примерах классификатор работает корректно (см. ниже).

Антихайп

Интересно, что на конференции много докладов было связано с развенчанием мифов. Поскольку тема хайповая, пишут о ней много и не всегда по делу.

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

Сегодня не существует однозначного определения понятия «искусственный интеллект», но большинство экспертов сходится, что такой интеллект должен обладать набором базовых способностей, присущих человеческому, в частности умением:

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

Про One-shot Learning и Transfer Learing

Обучение с учителем – стандартный подход сегодня, однако он все чаще критикуется. Несколько раз звучала интересная мысль о том, что будущее машинного обучения за обучением без учителя, или по крайней мере роль учителя будет уменьшаться.

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

Поэтому одно из направлений развития ИИ, которым сейчас активно занимается сообщество, – продвижение подхода One-shot Learning – вида обучения, при котором алгоритм способен делать обобщения, анализируя очень небольшое количество обучающих кейсов (в идеале один). В перспективе машины при принятии решения должны будут моделировать возможные ситуации, а не просто повторять решение на основе опыта. Способность обобщать – неотъемлемая черта любого интеллекта.

Чтобы проиллюстрировать сказанное, найдите в двух наборах ниже объекты, аналогичные выделенным. В отличие от компьютерной программы, человек, как правило, довольно легко справляется с этой задачей.

Еще одна близкая тема – это использование так называемого Transfer Learning – модели обучения, при которой предварительно обучается некая универсальная «грубая» модель, а затем для решения более специфических задач она дообучается уже на новых данных. Главное преимущество в том, что процесс обучения в этом случае выполняется в разы быстрее.

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

Вместо заключения

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

Следующая конференция данной серии планируется в апреле 2018 года.

Теги:

  • искусственный интеллект
  • O’Reilly
  • Strata Artificial Intelligence
  • CleverDATA
Добавить метки

. Сегодня третий урок, на котором мы поработаем с консолью и утилитой apt-get, научимся делать скриншоты и настроим удаленное управление через VNC.

Видео третьего урока:

Для третьего урока нам понадобится:

  • плата Raspberry Pi;
  • кабель питания;
  • USB-клавиатура;
  • USB-мышь;
  • монитор или телевизор с HDMI/RCA/DVI интерфейсом;
  • кабель, один конец которого RCA или HDMI, а другой соответствует вашему монитору;
  • SD-карта с уже установленной ОС Raspbian (как ее установить смотри );
  • USB-разветвитель с собственным питанием;
  • WiFi-модем.

Работа с консолью на Raspberry Pi

В ОС Raspbian (как и в других дистрибутивах Linux ) имеется главная консоль. Если бы мы не сделали соответствующие в rasppi-config , консоль открывалась бы сразу при запуске операционной системы. Работать с такой консолью не удобно, поскольку придется выйти из графического режима. Гораздо удобнее использовать предустановленную программу LXTerminal , которая эмулирует главную консоль в виде окна в графическом интерфейсе. Когда мы откроем эту программу, увидим строчку pi@raspberrypi ~ $ Здесь pi — имя пользователя в ОС, raspberrypi — hostname, ~ — текущая директория, ~ заменяет /home/pi . Когда мы видим такую строку, можем писать свою команду. В частности, здесь можно делать действия с файлами, папками, архивами (но эти действия можно делать и в графическом режиме, что гораздо удобнее).

Sudo

Некоторые действия требуют прав администратора, ими можно пользоваться просто добавив sudo в начале команды.

Утилита apt-get и установка программ

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

Альтернативный способ поиска, скачивания и установки программ на Raspberry Pi — консольная утилита apt-get.

Apt-get хранит данные о различных консольных и графических программах и утилитах на Raspberry Pi . Прежде чем работать с этой утилитой, нужно обновить ее базу программ с помощью команды

sudo apt-get update

После обновления можно скачивать программы. Чтобы выполнить поиск по базе утилиты, нужно сделать следующий запрос:

apt-cache search <запрос>

например,

apt-cache search tree

После запроса будет выведен список программ и утилит, в названии или описании которых имеется введенный запрос. Выбираем подходящую программу и запоминаем ее название.

Запрашиваем установку:

sudo apt-get install <название>

например,

sudo apt-get install tree

Установку потребуется подтвердить с помощью Enter.

После установки можно узнать информацию о программе или утилите:

info <название>

например,

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

Для использования консольной программы вводим <название> <параметры и флаги>, например tree .

Для удаления программы используется команда (удаление также нужно подтверждать):

sudo apt-get remove <название>
например,
sudo apt-get remove tree
Периодически с этой утилитой желательно совершать следующие действия:
sudo apt-get update (обновление базы программ)
sudo apt-get upgrade (обновление установленных программ)
sudo apt-get autoremove (удаления оставшихся после удаления программ библиотек, сопутствующих программ и др.)

Создание скриншотов на Raspberry Pi

К сожалению, ОС Raspbian не имеет предустановленных средств для создания снимков экрана — скриншотов.

Искать средства для создания скриншотов в apt-get можно с помощью запроса:

apt-cache search screen capture

Мне показалась удобной утилита scrot для скриншотов. Установка утилиты scrot:

sudo apt-get install scrot

Для создания скриншота необходимо ввести команду scrot. Можно указать задержку выполнения команды — это необходимо, чтоб вы успели свернуть или закрыть консоль — а то именно она попадет в скриншот. Для задержки в 5 секунд необходимо ввести:

Настройка удаленного управления через VNC

Virtual Network Computing (VNC ) - система удаленного доступа к рабочему столу компьютера . Управление осуществляется путем передачи нажатий клавиш на клавиатуре и движений мыши с одного компьютера на другой и ретрансляции содержимого экрана через компьютерную сеть. Будем использовать VNC для удаленного управления Raspberry Pi.

Чтобы настроить удаленное управление, установим и запустим VNC-сервер x11vnc, узнаем ip-адрес Raspberry Pi:
sudo apt-get install x11vnc
x11vnc -desktop:0
Просмотрим ip-адрес Raspberry Pi с помощью команды hostname -I.

На компьютер, с которого мы хотим удаленно управлять Raspberry Pi, скачаем и установим VNC-клиент, например, от realVNC . Запустим его и введем ip-адрес Raspberry Pi. После этого мы можем удаленно управлять.

На этом третий урок закончен, следует!

В следующем уроке мы поработаем с портами GPIO, в частности помигаем светодиодом в разных режимах.