Искусственный интеллект, машинное обучение, нейросети, глубокое обучение: Разбор

Давайте разберемся, что такое искусственный интеллект, какие у него есть виды и как работает машинное обучение. Просто и понятно!
Валерий Истишев 13 марта 2022 в 01:37

Мы все чаще слышим про то, как нейронки прокачивают камеры наших смартфонов, да и не только камеры — голосовые ассистенты, также они уже пишут музыку и рисуют картины, кто-то это называет ИИ, а еще есть машинное обучение и глубокое обучение! Признайтесь, вы тоже до сих пор не улавливаете разницы между всеми этими понятиями. Это не дело в двадцать первом-то веке! Чем же они отличаются друг от друга? И кто из них будущий SkyNet, Altron или Jarvis? Сейчас мы разложим все по полочкам.

https://youtu.be/tDyDWVqBw5s

Перед тем как погрузиться в будущее, заглянем в прошлое!

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

  • Z1. Германия
  • ENIAC (Electronic Numerical Integrator and Computer). США
  • ASCC (Automatic Sequence Controlled Calculator). США

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

В 1943 году американские ученые Уоррен Мак-Каллок и Уолтер Питтс в своей статье «Логическое исчисление идей, относящихся к нервной активности» предложили понятие искусственной нейронной сети, имитирующей реальную сеть нейронов, и первую модель искусственного нейрона.

Схема устройства нейрона

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

Логическая схема перцептрона с тремя выходами

А за несколько лет до этого, в 1950 году английский учёный Алан Тьюринг, пишет статью с громким названием «Может ли машина мыслить?». В ней он описал процедуру, с помощью которой можно будет определить момент, когда машина сравняется в плане разумности с человеком. Эта процедура сегодня носит название теста Тьюринга, о котором мы уже рассказывали ранее. Но вернемся к началу нашего повествования и ответим на вопрос: что же всё-таки такое “искусственный интеллект”?

Что такое ИИ?

Определений данному понятию существует большое множество, но все они сходятся в одном.

ИИ — это такая искусственно созданная система, которая способна имитировать интеллектуальную и творческую деятельность человека.

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

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

Но что может современный ИИ? Как можно оценить его интеллектуальные способности?

Чтобы это понять системы искусственного интеллекта можно разделить на три группы:

  1. слабый (или ограниченный) искусственный интеллект;
  2. общий искусственный интеллект;
  3. сильный (или сверхразумный) искусственный интеллект.

Давайте разберемся с каждой по порядку.

Слабый ИИ

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

Примеров тут множество. Это ИИ в компьютерных играх — враги умнеют постоянно, вспомните тех же боссов в играх серии Dark Souls. Да и в повседневной жизни, отвечая на письмо в Gmail именно ИИ предлагает вам варианты ответов.

Конечно вряд ли такой ИИ способен на порабощение человечества. Но все же он уже может превзойти человека — к примеру, еще в далеком 1997 году машина Deep Blue от компании IBM сумела обыграть мирового чемпиона по шахматам — Гарри Каспарова.

Общий ИИ

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

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

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

Уже сейчас Google Assistant может забронировать столик, общаясь по телефону с администратором (Google Duplex).

Еще в 2016 году самообучающийся твиттер-бот Тэй с ИИ, созданный компанией Microsoft, менее чем через сутки после запуска научился ругаться и отпускать расистские замечания, в связи с чем был закрыт своим же создателем.

А на последнем Google I/O нам показали проект LaMDA, с помощью которого можно поговорить, например, с планетой или с бумажным самолетом. За последнего, конечно же, будет отвечать ИИ.

Чего только стоит нашумевшая своим выходом осенью 2020 года нейросеть GPT-3 от OpenAI, которая откровенничала в эссе для издания The Guardian:

«Я знаю, что мой мозг — это не «чувствующий мозг». Но он может принимать рациональные, логические решения. Я научилась всему, что я знаю, просто читая интернет, и теперь могу написать эту колонку».

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

А совсем недавно, летом 2021 года, на базе GPT-3 был создан GitHub Copilot от GitHub и OpenAI, представляющий из себя ИИ-помощника для автозаполнения программного кода.

Можно сказать — это первый шаг на пути создания машин, способных порождать себе подобных…

Окей, закрепили! Общий ИИ — это компьютер который может успешно имитировать мышление человека, но не более того…

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

Сильный ИИ

Дальше — вершина эволюции ИИ или сильный ИИ.

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

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

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

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

Считается, что этот процесс приведет к появлению машин со “сверхразумом”. Такой необратимый процесс носит название теории «технологической сингулярности». Такие машины станут “последним изобретением, которое придется породить человеку”, писал оксфордский математик Ирвинг Джон Гуд, представивший возможность такого интеллектуального прорыва. Невольно вспоминаются сцены из серии фильмов “Терминатор” Джеймса Кэмерона.

Что такое машинное обучение?

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

Напомним, что ИИ — это самый общий термин, включающий в себя все остальные понятия.

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

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

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

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

Но как это можно реализовать?

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

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

У вас ведь было такое, когда письма по ошибке попадают в папку “спам”? Очевидно, что модель не идеальна.

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

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

Но если машинное обучение — это подражание тому, как люди учатся, почему бы не пройти весь путь и не попытаться имитировать человеческий мозг? Эта идея и лежит в основе нейронных сетей!

Нейронные сети

Что же такое нейронка или искусственная нейронная сеть? Говоря по простому это один из способов машинного обучения!

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

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

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

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

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

Зачем же нужны такие сложные и запутанные структуры и в чем их ключевая особенность?

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

Только в отличие от компьютерных нейросетей в мозге человека (только представьте себе!) порядка 86 миллиардов нейронов и более 100 триллионов синаптических связей! Именно такая сложная структура позволяет человеку быть человеком, позволяет проявлять интеллектуальную деятельность, о которой мы говорили ранее.

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

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

Глубокое (глубинное) обучение или Deep Learning

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

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

Раньше у человечества просто не было достаточных вычислительных мощностей для реализации работы нейронок, как и не было достаточно данных для их обучения. Даже сегодня классическим процессорам с двумя или даже с шестьюдесятью четырьмя ядрами (как в AMD Ryzen Threadripper PRO) не под силу эффективно производить вычисления для нейронных сетей. Всё потому что работа нейронок — это процесс сотен тысяч параллельных вычислений.

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

Именно поэтому сегодня так актуальны нейронные процессоры или модули которые присутствуют в том же Apple Bionic, в процессорах Qualcomm или в чипе Google Tensor, состоящие из тысяч вычислительных ядер минимальной мощности. Как раз на них и возложена функция нейронных вычислений.

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

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

Это значит, что глубокое обучение позволяет обучить правильно настроенную нейросеть почти чему угодно. Ведь нейросеть самостоятельно выстраивает алгоритмы работы!

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

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

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

Отличия сетей глубинного обучения от других алгоритмов машинного обучения

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

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

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

Яркий пример — нейросеть ruDALL-E от Сбера, способная создавать картины из текстовых запросов. Вот что выдала нам эта нейросеть на запрос “Droider.ru”:

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

А вот парочка работ другой подобной художественной нейросети Dream by WOMBO по аналогичному запросу:

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

Оставляем сиё творчество исключительно на ваш суд!

Выводы

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

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

  1. ИИ относится к устройствам, проявляющим в той или иной форме человекоподобный интеллект.
  2. Существует множество разных методов ИИ, но одно из подмножеств этого большего списка — машинное обучение — оно позволяет алгоритмам учиться на наборах данных.
  3. Нейронные сети — это разновидность алгоритмов машинного обучения, построенных по аналогии с реальными биологическими нейронами человеческого мозга.
  4. Ну и, наконец, глубокое обучение — это подмножество машинного обучения, использующее многослойные нейронные сети для решения самых сложных (для компьютеров) задач.

Сегодня мы с вами являемся, по сути, свидетелями рождения искусственного разума.

Только задумайтесь: ИИ применяется сейчас практически везде. Скоро даже в сельском туалете можно будет получить контекстную рекламу на основе ваших персональных рекомендаций. И это далеко не всё. ИИ уже проходит тесты на “человечность”, может заменять нам собеседника и создавать произведения искусства. Что же дальше? Создание общего и сильного ИИ и порабощение человечества?

Так все-таки ИИ — это хорошо или плохо? И главное — сделает ли ИИ нас бессмертными? Можно ли будет оцифровать сознание?

Как работают нейросети? Разбор

В наших материалах постоянно звучат слова Искусственный Интеллект и Нейросети. Так почему бы на просто примере не разобраться, как работают нейросети?
Валерий Истишев 8 октября 2020 в 11:09

Нейросети, машинное обучение, искусственный интеллект. Звучит круто, но как это всё работает?

Объясню на простом примере. Представьте школьника, который пыхтит над контрольной по математике. И вот он подобрался к последнему уравнению, где нужно было вычислить несколько неизвестных (a, b и c) и посчитать ответ.

(a+b)*c=?

Он решает задачу и вдруг краем глаза замечает, что правильный ответ 10, а у него вообще не то — 120 тысяч. Что делать? По-хорошему, надо бы заново всё считать. Но времени мало. Поэтому он решает просто подогнать значения в уравнении, чтобы получился правильный ответ.

Он это делает и понимает, что значения a, b и с он посчитал неправильно еще в предыдущем уравнении. Поэтому там тоже надо всё быстро поправить. Он это делает и сдаёт работу.

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

Да-да, машинное обучение — это фактически подгонка уравнения под правильный ответ. Но давайте немного углубимся и поймем как это всё работает на самом деле, на примере простейшей нейросети.

Классические алгоритмы

Допустим, мы хотим научить компьютер распознавать рукописные цифры.

Как решить эту задачу? Отличник бы воспользовался классическими математическими методами.

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

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

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

Структура нейросети

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

Самый первый слой называется — входным. По сути, туда просто поступают входные данные.

Например, если мы хотим распознать картинку с цифрой размером 28 на 28 пикселей нам нужно, чтобы в первом слое нашей сети было 784 нейрона, по количеству пикселей в картинке.

Так как нейросеть может хранить только значения от 0 до 1 закодируем яркость каждого пикселя в этом диапазоне значений.

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

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

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

Веса и смещения

Структура примерно понятна, но какие данные передаются по слоям и что за специфическая математика там происходит?

Разберем на примере одного из нейронов второго слоя.

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

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

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

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

Как это делается?

Мы знаем, что нейрон может содержать значения от 0 до 1. Но входяшие данные могут иметь значение существенно больше: мало того, что мы суммируем все значения из первого слоя, так мы еще их перемножаем на веса. Поэтому полученное значение нам нужно нормировать, например, при помощи  функции типа сигмоиды или ReLU.

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

Вся эта функция, кстати называется функцией активации.

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

Обучение

А никак! Мы просто даем нейросети произвольные значения весов и смещений. И в итоге, естественно, мы получаем совершенно случайные ответы на выходе.

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

Допустим, мы загрузили в нейросеть цифру 2. если бы нейросеть работала идеально в выходном нейроне отвечающем за распознавание двойки было бы максимальное значение равное единице. А в остальный нейронах были бы нолики. Это значит что нейросеть на 100% уверена, что это двойка, а не что-то иное. Но мы получили другие значения.

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

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

Другие структуры

Мы с вами рассмотрели самый простой пример нейросети. Но существуют масса архитектур нейросетей:

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

Зачем нам нужны нейронные процессоры?

Нейросети и нейропроцессоры — это наше настоящее и, безусловно, наше будущее! Именно искусственный интеллект помогает смартфонам стать ещё круче!
aka_opex 25 июня 2020 в 09:53

Нейросети сейчас называют новым электричеством. Мы их не замечаем, но пользуемся каждый день. Face ID в iPhone, умные ассистенты, сервисы перевода, и даже рекомендации в YouTube — всё это нейросети. Они развиваются настолько стремительно, что даже самые потрясающие открытия выглядят как обыденность.

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

И это только начало. Сейчас мы стоим на пороге новой технической революции сравнимой с открытием электричества. И сегодня мы объясним вам почему.

Как работают нейросети?

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

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

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

Вот например так выглядят веса для рукописных цифр. Похоже как будто очень много фоток цифр наложили друг на друга.

А вот так для нейросети выглядит кошка или собака. У искусственного интеллекта явно свои представления о мире.

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

— Ага! Совпало. Узнаю, это кошка.

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

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


Всё вроде бы просто, да не совсем. В нейросетях очень много нейронов и весов. Даже в простой однослойной нейросети, которая распознает цифры на картинках 28 x 28 пикселей для каждого из 10 нейронов используется 784 коэффициента, т.е. веса, итого 7840 значений. А в глубоких нейросетях таких коэффициентов миллионы.

CPU

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

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

Где же взять такой процессор? В офисе IBM? В секретных лабораториях Пентагона?

GPU

На самом деле такой процессор есть у многих из вас дома. Это ваша видеокарта.

Видеокарты как раз заточены на простые параллельные вычисления — отрисовку пикселей! Чтобы вывести на 4K-монитор изображение, нужно отрисовать 8 294 400 пикселей (3840×2160) и так 60 раз в секунду (или 120/144, в зависимости от возможностей монитора и пожеланий игрока, прим.ред.). Итого почти 500 миллионов пикселей в секунду!

Видеокарты отличаются по своей структуре от CPU. Почти всё место в видеочипе занимают вычислительные блоки, то есть маленькие простенькие ядра. В современных видюхах их тысячи. Например в GeForce RTX2080 Ti, ядер больше пяти тысяч.

Всё это позволяет нейросетям существенно быстрее крутиться GPU.

Производительность RTX2080 Ti где-то 13 TFLOPS (FLOPS — FLoating-point Operations Per Second), что значит 13 триллионов операций с плавающей запятой в секунду. Для сравнения, мощнейший 64-ядерный Ryzen Threadripper 3990X, выдаёт только 3 TFLOPS, а это заточенный под многозадачность процессор.

Триллионы операций в секунду звучит внушительно, но для действительно продвинутых нейронных вычислений — это как запустить FarCry на калькуляторе.

Недавно мы игрались с алгоритмом интерполяции кадров DAIN, основанном на машинном обучении. Алгоритм очень крутой, но с видеокартой Geforce 1080 уходило 2-3 минуты на обработку одного кадра. А нам нужно чтобы подобные алгоритмы работали в риалтайме, да и желательно на телефонах.

TPU

Именно поэтому существуют специализированные нейронные процессоры. Например, тензорный процессор от Google. Первый такой чип в Google сделали еще в 2015 году, а в 2018 вышла уже третья версия.


Производительность второй версии 180 TFLOPS, а третьей — целых 420 TFLOPS! 420 Триллионов операций в секунду. Как они этого добились?

Каждый такой процессор содержит 10-ки тысяч крохотных вычислительных ядер, заточенных под единственную задачу складывать и перемножать веса. Пока, что он выглядит огромным, но через 15 лет он существенно уменьшится в размерах. Но это еще фигня. Такие процессоры объединяться в кластеры по 1024 штуки, без каких либо просадок в производительности. GPU так не могут.

Такой кластер из тензорных процессоров третьей версии могут выдать 430 PFLOPS (пета флопс) производительности. Если что, это 430 миллионов миллиардов операций в секунду.

Где мы и что нас ждёт?

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

В 2000 году первый суперкомпьютер с производительностью 1 терафлопс занимал 150 квадратных метров и стоил 46 миллионов долларов.

Спустя 15 лет NVIDIA мощностью 2?3 терафлопса, которая помещается в руке стоит 59$.

Так что в следующие 15-20 лет суперкомпьютер Google тоже поместится в руке. Ну или где мы там будем носить процессоры?

Кадр из режиссерской версии фильма «Терминатор-2»

А мы пока ждём момента, довольствуемся нейромодулями в наших смартфонах — в тех же Qualcomm Snapdragon’ах, Kirin’ах от Huawei и в Apple Bionic — они уже тихо делают свою работу.

И уже через несколько презентаций они начнут меряться не гигагерцами, ядрами и терафлопсами, а чем-то понятным для всех — например, распознанных котиках в секунду. Всё лучше, чем попугаи!

 

Нейромодуль и ИИ: На что они способны уже сегодня?

Как нейронки смогут изменить наши смартфоны? Зачем нужен нейромодуль в процессоре? Что сможет камера в будущем iPhone или Pixel? Давайте разберёмся!
aka_opex 8 мая 2020 в 03:59

Сейчас во все мобильные процессоры впихивают нейронные модули. Neural Engine в процессорах Apple, DaVinci NPU у HUAWEI, AI Engine в Snapdragon’ах. Но что полезного они делают реально непонятно. Обычно всё сводится к всевозможным безумным бьютификациям и улучшайзерам.

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

Сегодня мы покажем для чего в будущем будет использоваться нейронный модуль внутри вашего смартфона и какие крутые фишки можно делать уже сейчас!

Obstructional Removal

Начнем с камеры! Сейчас в приложении камеры на любом телефоне, есть масса бесполезных и “интеллектуальных” фич, типа определение сцены. Вот собачка, а вот цветочек говорит нам искусственный интеллект. И что? Мы это и так знаем!

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

Работает это очень интересно. Рассмотрим пример с отражением.

Во-первых, для того чтобы всё получилось нужно несколько кадров. Зачем? Чтобы вычислить оптический поток пикселей, т.е. движение в кадре. Дальше нейронка понимает, ага вот эти пиксели движутся что-то совсем не туда. Значит это отражение.

А дальше начинается настоящая магия. На основе данных о движении, нейронка восстанавливает два изображения: фон и отражение. Дальше вычитает отражение из фона и готово!

Думаете, такие фичи в смартфонах появятся еще не скоро. Обрадую вас, например в HUAWEI P40 Pro уже показали подобную функцию. Назвали это всё очень по-азиатски — Golden Snap. Она умеет удалять отражения и даже лишних людей из кадра! По-моему неплохо, ждём теперь реализацию от Гугла а потом и всё подтянутся!

Real Time Person Removal

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

Алгоритм, таскающий картинки

Но мы то с вами что в кадре может мешать не только забор или человек. В кадре может быть лишним вообще всё! В этом случае поможет вот эта волшебная нейросеть.

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

Сначала нейронка определяет порядок объектов. Потом додумавает форму перегороженных объектов. А щзатем достраивает их!

Дальше остается только наслаждаться: можно передвигать объекты по кадру, менять их порядок, удалить всё что хочешь, и даже добавлять на снимок что-то новое.

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

Кекфейс

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

Но вот недавно появился бот в Телеграм @EORA_kekface_bot, который из любой фотки делает прикольные анимированные гифки. Зачем нужны анимоджи? Если можно свой набор стикеров на все случаи жизни.

Как думаете кто из крупных компаний первый догадается что-то такое сделать? Я ставлю на Samsung или HUAWEI, не всё же им за Apple повторять.

Итоги

Естественно, то о чём мы рассказали — это капля в море. В плене нейронок, что-то интересное происходит каждый день.

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

Ребята сделали дипфейк Илона Маска в Zoom’е. То есть можно им стать, общаясь с друзьями в видеочате.

А еще, добрые люди омолодили, Мону Лизу и, “наше всё” Александра Сергеевича Пушкина.

Кстати мы, много подсмотрели на канале Neural Shit в Telegram.

Google представила Android 9.0 Pie

ОС уже доступна для всех поколений смартфонов Pixel
News Droid 6 августа 2018 в 10:58

Компания решила выпустить Зеленого робота с пирогом в качестве официального десерта именно сегодня.

Напомним, что Android 9.0 Pie обладает нативной поддержкой «моноброви», переработанным экраном многозадачности, интуитивной функцией Do Not Disturb и множеством других нововведений.

Первыми смартфонами, которые получат юбилейную ОС по воздуху, стали линейка Pixel и Essential Phone. Кстати, файлы заводской прошивки для «пиксельфонов» уже доступны на сайте Google.

Далее до конца осени обновление будет доступно обладателям моделей из линейки Android One, Xperia XZ2 от Sony, Mi Mix 2S от Xiaomi, Nokia 7 Plus от HMD Global, R15 Pro от Oppo, X21 от Vivo и OnePlus 6.

Источник: Android

Android P превращается в iOS? | Видеообзор

Все новые «фишки» операционной системы Google
News Droid 10 мая 2018 в 02:05

Борис Веденский рассказывает и показывает особенности свежеанонсированной Android 9.0 P, а также сравнивает с ОС от Apple.

Напомним, что в марте на канале Droider уже выходил видеообзор, посвященный новинке от Google.

Юбилейный Android P и вездесущий Assistant | Google I/O 2018

Коротко о важном с конференции «Корпорации добра»
Arina 9 мая 2018 в 01:27

Как и было заявлено, сегодня стартовала I/O в Калифорнии. Посмотреть прямой эфир с Борисом Веденским можно было тут. А мы расскажем о самых горячих анонсах своими словами.

Android P

Напомним, что в 2018 году операционная система отмечает 10 лет, поэтому команда Google постаралась для того, чтобы Android P получился запоминающимся. Кроме того, о чем было рассказано на канале Droider, от новейшего Зеленого робота стоит ожидать:

  • функция Adaptive Brightness подстраивает яркость экрана под программы и окружение;
  • функция Do Not Disturb помогает отойти ко сну, приглушая цвета дисплея до монохромного;
  • функция Slices делает поиск более полезным, предоставляя дополнительные сведения. Если написать «Uber», то продемонстрируется не только история компании, но и расположение ближайших такси;
  • меню Dashboard отображает время пользования гаджетом и приложениями. Доступ к некоторым ресурсам можно ограничить. Это создано для того, чтобы бороться с зависимостью от смартфонов и социальных сетей;
  • карточки приложений перемещаются горизонтально, а не вертикально;
  • управление с помощью жестов на навигационной панели внизу экрана;
  • уведомления отображают не только последнее, то и несколько предшествующий сообщений для понимания контекста;
  • оптимизация расхода зарядки в зависимости от привычек владельца.

Попробовать Android 9.0 уже могут обладатели Pixel, Sony, Xiaomi, Nokia, OnePlus, Oppo и других мобильных телефонов. Подробнее об участии в бета-тестировании — здесь. Официальный релиз произойдет в июле-сентябре.

Android Things

Новая ОС призвана помочь разработчикам создавать продукты для «интернета вещей». Google проследит за частым и продолжительным (до 3 лет) выходом обновлений, их установкой на устройства без участия пользователя.

Android Things 1.0 совместима с процессорами от Qualcomm, MediaTek и Raspberry. Заинтересованность в проекте уже подтвердили LG, Lenovo и JBL. Аппараты дебютируют уже в 2018 году.

Wear OS

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

Assistant

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

https://youtu.be/2D-8NsZuhHY

Ещё Assistant понимает несколько запросов сразу и научился командам Actions on Google. То есть может управлять гаджетами из «умного» дома. Всего дружественных устройств насчитывается около 5 000.

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

Gmail

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

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

Photos

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

  • Раскрашивание фотографии в Photos
  • Раскрашивание фотографии в Photos

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

Все нововведения появятся к сентябрю.

News

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

Кроме новостных материалов, читатель увидит в Google News «свежатинку» из каналов на YouTube и Google+, если имеет подписки. Релиз на Android и iOS состоится в мае.

Lens

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

Обновление Google Lens выйдет к концу месяца.

Maps

Картографический ресурс приобщился к дополненной реальности благодаря Visual Positioning System. Новая система объединяет местность, расположение, камеру и изображения Street View. В результате человек видит AR-подсказки в режиме реального времени.

Глобальный доступ к усовершенствованиям Google Maps откроется летом.

На этом мы закончим повествование. Будем ждать репортажей от Валерия Истишева с места событий.

Знакомство с P20 и P20 Pro от Huawei | Видеообзор

Фронтмен Droider выясняет, зачем смартфонам нужны 4 камеры
News Droid 28 марта 2018 в 11:46

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

Напомним, что смартфоны P20 и P20 Pro получили интересные расцветки корпуса, камеры от Leica и водозащиту.

P20 и P20 Pro от Huawei — «камерофоны» с ИИ

Со смартфонами снова помогали Pantone и Leica
News Droid 27 марта 2018 в 07:21

Как и ожидалось, сегодня компания презентовала в Париже новые флагманы, чьи фотовозможности усилены искусственным интеллектом. Например, есть 3D-моделирование лиц.

P20 достались: 5,8-дюймовый LCD-дисплей с разрешением 2560 x 1440 точек, процессор Kirin 970, 4 Гб ОЗУ, батарейка 3 400 мАч, быстрая зарядка, основная камера 12 Мп + 20 Мп от Leica, фронтальная камера 24 Мп, стереодинамики, дактилоскоп в кнопке Home, NFC, порт USB Type-C, защита от брызг на уровне IP53, 2 слота для SIM-карт, Android Oreo под оболочкой EMUI 8.1.

  • P20 от Huawei
  • P20 от Huawei
  • P20 от Huawei
  • P20 от Huawei
  • P20 от Huawei

P20 Pro получил 6,1-дюймовый AMOLED-экран с разрешением 2244 x 1080 пикселей и соотношением сторон 18,7:9, процессор Kirin 970 с отдельным нейросетевым модулем, 6 ГБ оперативной и 128 ГБ встроенной памяти, аккумулятор 4 000 мАч, тройную основную камеру 8 Мп + 20 Мп + 40 Мп, 10-кратный цифровой зум, защиту от воды по стандарту IP67.

  • P20 Pro от Huawei
  • P20 Pro от Huawei
  • P20 Pro от Huawei
  • P20 Pro от Huawei

Продажи начнутся до конца марта. Младший флагман Huawei обойдется в 649 евро, старший — 899 евро.

https://youtu.be/CXfOZpe4Uww

Источник: Huawei, Huawei

Trust No 1: Как нейросети меняют подход к видео

Разбираемся, почему порно с лицами селебрити — это только начало
Arina 2 февраля 2018 в 04:28

Откуда всё пошло?

Пользователь Reddit под псевдонимом Deepfakes устроил “социальный эксперимент”: научил нейронную сеть менять физиономии в порнографических фильмах.

Первой “маской” стала Галь Гадот. Результат не выглядел естественным на 100%, но он лучше того, что демонстрировалось ранее на тематических ресурсах.

Далее появилось приложение FakeApp от юзера Deepfakeapp. Как только общественность прознала о бесплатном механизме, интернет наводнили ролики, где одним звездам “надевали” лица других. Неожиданных для себя ролей не избежали Скарлетт Йоханссон, Эмма Уотсон, Джессика Альба и прочие популярные актрисы.

Контент 18+, получивший в народе название CelebFakes, не трудно найти на форуме. Вас предупредили.

При чем тут Николас Кейдж?

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

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

Даже такое уже было?

Пользователь под ником Z3ROCOOL22 с помощью тех же алгоритмов создал “идеального политика” через смешение съемок Маурисио Макри и Адольфа Гитлера.

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

И что теперь?

Несмотря на то, что сайты уже начали удалять эротические короткометражки и gif-картинки, сработал эффект Барбары Стрейзанд. Поэтому затруднительно обозначить даже приблизительные объемы фейкового материала.

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

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

С третьей стороны, есть проблемы обычных людей. Не секрет, что в социальных сетях процветает порно-месть. Это когда бывший партнер выкладывает “домашнее видео” с экс-возлюбленным без спроса. Теперь благодаря общедоступным инструментам, которые становятся всё проще в использовании, перестанет иметь значение — существовал ли ролик изначально. Проще говоря, если работодатель поищет в Google и обнаружит интим-клип с женщиной, одетой в школьницу, то не станет искать истину, а откажет соискателю на должность учителя географии.

Однако спрос рождает предложение. Логично предположить, что появится простое ПО для определения подлинности видеоряда, а также адекватная законодательная база.

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

Источник: Motherboard