Ой, похоже, у вас включен блокировщик рекламы, который скрывает партнерский пост 😢. Чтобы его увидеть, отключите блокировку

Нейросети: как они работают и захватят ли мир

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

Нейросети: как они работают и захватят ли мир Видео, Длиннопост

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


— Что в основе нейросетей?

— Человеческий мозг.


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


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


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


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

Нейросети: как они работают и захватят ли мир Видео, Длиннопост

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


У меня есть два варианта на выбор: злополучный мост или такси. А значит, мое решение зависит от веса сигналов. Если все это показать в цифрах, то выглядеть будет так: у моста вес −10 (я очень боюсь высоты), у денег — 4 (такси не такое уж и дорогое), у времени — 3 (не особо я и спешу). На этом моменте у вас, вероятно, возникает вопрос: откуда она взяла эти цифры? Примите их сейчас за данность — подробнее о значении веса для каждого сигнала я расскажу в третьем параграфе.


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


В моем случае все три сигнала есть, поэтому арифметика получается элементарной: 1*-10 + 1*4 + 1*3 = −10+4+3 = −3. Эта цифра явно меньше пяти, а значит я по мосту не пойду.

Нейросети: как они работают и захватят ли мир Видео, Длиннопост

Давайте поиграем с сигналами и их весом, чтобы точно понять, как все это работает. Например, я избавилась от своего страха с помощью психолога. Сигнал «отвалился» и теперь равен нулю. Считаем: 0*-10 + 1*4 +1*3 = 7. Семь больше пяти, и я смело иду по мосту.

Другой вариант: вес денег в моем уравнении резко изменилось. Допустим, до зарплаты два дня, в холодильнике остывает трупик повесившейся мыши, и к бабушке я иду, чтобы поесть. Вес материального фактора подпрыгивает в разы, потому что за такси мне придется отдать последние деньги. Дадим ему цифру 15. Уравнение меняется: 1*-10 + 1*15 + 1*3 = 8. Восемь больше пяти — я страдаю, но иду по мосту, потому что голод сильнее страха.


— Так как все же работают нейросети?

— Гораздо сложнее.


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

Чтобы создать свою нейросеть, нужно знать математику, Python и разбираться в машинном обучении. Но если вы твердо решили, что хотите заниматься нейросетями, ваш вариант – онлайн-курс по Data Science с нуля. Эта программа поможет начать работу в новой сфере и даже полностью перейти в IT. Да, вам понадобится больше времени и сил, но за год вы научитесь программировать на Python, освоите математику и статистику, попробуете на практике машинное обучение и в итоге познакомитесь с нейронными сетями. Через год у вас будет 10 готовых проектов для портфолио и добротная база для того, чтобы устроиться работать дата саентистом.

Но если вы уже в теме Data Science и машинного обучения и хотите углубиться в deep learning, вам хватит и 10 недель. Онлайн-курс поможет освоить нейросети, научиться их оптимизировать и даже разобраться в продвинутых нейронных сетях. Подробности ищите здесь.

— Зачем обучают нейросети?

— Потому что сами они ничего не могут.


Представьте мою схему без весов. То есть вы не знаете, как сильно я боюсь высоты, есть ли у меня деньги и спешу ли я к бабуле. У вас есть только сигналы «страх», «деньги» и «время». Вам надо понять, как поступить. Сможете? Конечно, нет. Вот и программа не может. Ей необходим человек, который задаст параметры. Вот и ответ на ваш вопрос «Откуда она взяла эти цифры?». Взяла я их из головы, потому что я уже знаю, для какого решения создавалась моя маленькая нейросеть. Программисты же задают только начальные веса, а остальные ищет сама нейросеть во время обучения.


Например, вы хотите натренировать нейросеть отличать букву «А» в тексте. Даете ей слово «НОГА». И если бы нейросеть могла с вами говорить, дальнейший диалог был бы таким:

Нейросети: как они работают и захватят ли мир Видео, Длиннопост

Так мы задаем нейросети вопросы и смотрим, даст ли она правильный ответ. Если программа ответила верно, мы говорим ей: «Хорошо. Молодец. Теперь запомни, как сейчас у тебя работали нейроны. Это правильная работа». А если нейросеть дает неверный ответ, мы говорим: «Нет. Ты не права. Не делай так больше. Делай наоборот!». Так после кучи повторений нейросеть начинает сама корректировать веса, пока не придет к самому лучшему варианту.


— То есть нейросети не такие уж и умные?

— Нет. Временами они гораздо умнее нас.


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


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


— Но ведь нейросети — это все равно хорошо?

— Не всегда.


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


Но не все нейросети одинаково полезны. Технология дипфейк. Да, та самая, что позволяет нам накладывать лица одних актеров на других и создавать альтернативные версии известных фильмов. Вот, посмотрите, как бы выглядела «Матрица», если бы Уилл Смит не отказался от главной роли.

Забавно, правда? А теперь представьте, что ваше лицо наложили на какого-нибудь порноактера. Или кто-нибудь решил запустить фейковую новость, которая в итоге приведет к большому политическому конфликту между странами. Уже не так смешно.


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


— Окей, это звучит круто. И кажется, не так уж и сложно. А я могу создать свою нейросеть?

— Да. И это очень перспективное направление работы.


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


В онлайн-школе SkillFactory есть два подходящих курса для тех, кто хочет создавать нейросети и менять мир. А чтобы обучение было еще доступней, используйте промокод pikabu 2020. До 16 марта 2020 года он даст вам скидку 25%. Оставьте заявку, а когда с вами свяжется менеджер, назовите код.


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


Хочу научиться всему с нуля


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


Хочу прокачать свои знания