«Начинали снизу, теперь мы здесь» - Дрейк

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

Я помню, как слушал речь об ИИ в восьмом классе, и вспоминаю, как подумал про себя: «Это. тема. является. так. скучный". Я не понимал, как это работает, и все время воспринимал это как огромных роботов, которые собирались захватить нашу планету. Мое непонимание ИИ - это то, что вдохновило меня на создание этой статьи - универсального инструментария для понимания ИИ «Начиная с низов» 😉.

(Эта статья разбита на разные «блоки», и каждый «блок» представляет новую концепцию. Цель состоит в том, чтобы хорошо понять основы / блоки ИИ к концу статьи, так что вы можете работать над построением AI.)

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

1-й блок: Что такое ИИ

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

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

Как вы представляете себе ИИ?

Прежде чем я начал узнавать об этом, я воспринимал ИИ как нечто подобное:

Супер крутые роботы…

Или даже это:

Может быть, вы относитесь к моему восприятию ИИ, и хотя отчасти это правда, ИИ на самом деле выглядит примерно так:

Код и расчеты лотов

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

«Самая большая опасность искусственного интеллекта заключается в том, что люди слишком рано приходят к выводу, что они его понимают». - Элиэзер Юдковски

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

Давайте рассмотрим:

  • Искусственный интеллект воспроизводит человеческий интеллект, давая машинам возможность предсказывать, делать выводы и распознавать закономерности.
  • ИИ формирует наше будущее, поэтому так важно о нем узнавать.
  • Нам нужен ИИ, чтобы помочь нам анализировать большие объемы данных (например, я имею в виду триллионы точек данных… Не знаю, как вы, но я бы предпочел выпить сезон «Танка акул»).
  • Чем больше данных доступно для ИИ, тем точнее они будут.

Готовы двигаться дальше?

Если нет… посмотрите это видео и это Ted Talk

Блок 2 - Машинное обучение (ML):

Машинное обучение - это программирование алгоритма для самостоятельного обучения.

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

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

Модель использует три метода для изучения:

  1. Контролируемое обучение
  2. Неконтролируемое обучение
  3. Обучение с подкреплением

Данные обучения и тестирования:

* Я буду ссылаться на эти термины, когда объясню различные методы обучения

Чем больше данных доступно, тем лучше модели машинного обучения. В модели машинного обучения есть два типа данных: данные обучения и данные тестирования.

Данные обучения:

- составляет 80% собранных вами данных

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

Данные тестирования:

- составляет 20% собранных вами данных

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

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

Обучение с учителем:

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

Существует два типа обучения с учителем:

  1. Классификация
  2. Регресс

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

Классификация (метод обучения с учителем # 1)

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

Классификация данных с помощью ярлыков

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

Логистическая регрессия:

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

Двоичный: либо одно, либо другое. Пример: 0 или 1, да или нет

Независимые переменные: факторы, которые могут влиять на зависимую переменную (результат)

Дополнительный ресурс для дальнейшего объяснения

Пример того, как работает классификация:

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

Представьте себе это:

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

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

Наша введенная фотография может быть изображением собаки или кошки. Барабанная дробь, пожалуйста… 🥁👏

Это собака! Спорим, ты не догадалась;)

Этот пример распознавания изображений используется в ВАШЕМ мобильном телефоне!

Попробуй это:

  • Перейдите в приложение для фотографий 📷.
  • Щелкните на опции поиска 🔎.
  • Найдите все, что у вас есть на фотографии 🐶.

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

Регрессия (метод контролируемого обучения # 2)

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

Пример непрерывной переменной: цены на акции, зарплата, цены на жилье и т. Д.

Используемый алгоритм: линейная регрессия (можно использовать многие алгоритмы, но линейная регрессия является самой простой)

Линейная регрессия:

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

Я рекомендую смотреть это видео на скорости 1,5 или 2 раза

Модель регрессии может:

  • предсказать возраст 👴
  • спрогнозировать, вырастет ли завтра цена акций компании 📈
  • прогнозировать цены на жилье через x лет 🏡
  • (что угодно с числовым выводом) 🔢

Вот как бы выглядел результат при использовании линейной регрессии:

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

Функция затрат / потерь (это объяснение не обязательно читать, но функция потерь будет упомянута позже в статье):

MSE = среднеквадратичная ошибка (одна формула для определения функции затрат в глубоком обучении - это всего лишь один пример)

Объяснение уравнения:

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

Неконтролируемое обучение

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

Например, давайте посмотрим на изображение блоков ниже:

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

  • ПОПРОБУЙТЕ: Сгруппируйте блоки по цвету и букве…

Это может показаться простым, но теперь представьте, что я сказал вам отсортировать миллионы и даже миллиарды блоков. Вы бы это сделали? Я знаю, что не стал бы, я бы предпочел проводить время за просмотром рождественских фильмов и выпечкой печенья Pillsbury 🎄.

К счастью, нам не нужно сортировать миллионы блоков (данных), метод обучения без учителя делает это за нас!

Обучение с подкреплением

Обучение алгоритму основано на вознаграждении или наказании.

Представьте себе это:

Вы впервые играете в теннис 🎾! Противник подает, а вы в ответной позиции. Что вы собираетесь делать?

Вы можете отбивать мяч справа, слева, залпом и т. Д. (Некоторые базовые теннисные движения). Но что было бы лучшим вариантом?

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

После множества ударов и решений, хороших и плохих, игра окончена ...

К сожалению, в итоге вы проиграли 😥

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

Наказание = плохо, награда = хорошо.

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

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

Пришло время сделать обзор блока 2!

Машинное обучение:

- Машинное обучение дает машинам возможность воспроизводить человеческий интеллект.

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

Обучение с учителем:

- Обучение с учителем ›Классификация (логистическая регрессия) и регрессия (линейная регрессия).

- Классификация: вывод представляет собой конкретную метку, основанную на ранее введенных данных с теми же характеристиками (классификация = категориальная).

- Регрессия: результат - непрерывная переменная (регрессия = числовая).

Обучение без учителя:

- Сортирует немаркированные данные и находит шаблоны для кластеризации данных.

Обучение с подкреплением:

- Обучение модели с положительным или отрицательным подкреплением

Блок 2 = Завершено! Так держать! 🏅

Блок 3 - Нейронные сети:

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

Так выглядит нейронная сеть:

Наблюдение за нейронной сетью:

  • «Вход», «скрытые слои», «выход»
  • Зеленые круги (известные как нейроны)
  • Черные линии, соединяющие «нейроны» (известные как синапсы).

«Синапсы» - что связывает каждый нейрон

Давайте обсудим это дальше ...

Представьте, что вы находитесь в доме и хотите попасть на второй этаж 🏡:

Вход - нижний этаж

Скрытые / вычислительные уровни - это лестница (также известная как то, что ведет наверх)

Выход - второй этаж (цель)

Вход:

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

Скрытые слои / вычислительные слои:

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

Выход:

  • Результат вычисления скрытых слоев на входе
  • При использовании разных методов машинного обучения выходные данные будут разными (например, если вы использовали алгоритм линейной регрессии для контролируемого обучения, выходом была бы непрерывная переменная; тогда как если бы вы использовали алгоритм логистической регрессии, выходом было бы метка)

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

Наблюдения с изображения одной нейронной связи 🧠:

  • Множество входов
  • синапсы
  • Фактический нейрон
  • Выход (определяется расчетом, происходящим в нейроне)

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

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

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

Внутри каждого нейрона происходит множество вычислений (отсюда и термин «вычислительные уровни»). В этих расчетах есть так называемые веса и смещения. Веса и смещения определяют значение каждого фрагмента данных при создании выходных данных.

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

Условия:

- веса: сила связи между каждым нейроном и значение, которое каждый нейрон имеет на выходе. Бывший. Отрицательные веса уменьшают ценность вывода

- смещения: что-то вроде коэффициента в уравнении

- глубокое обучение: нейронная сеть с двумя или более скрытыми слоями.

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

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

Продолжение расчёта в разбивке:

Что такое функция активации, как видно из расчета? (Необязательно)

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

4 типа функций активации:

- сигмовидная функция

- функции гиперболического тангенса

- пороговые функции

- Функции выпрямителя, или ReLU

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

💡 Любопытство стимулирует инновации;)

Градиентный спуск и обратное распространение

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

Наша нейронная сеть обычно работает в прямом направлении от ввода ›вывода.

Процесс обратного распространения проходит по сети от выхода ›входа.

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

Градиентный спуск - это процесс настройки весов и смещений для получения наименьшей функции затрат / потерь (напоминание: функция потерь - насколько далеко прогнозируемый результат от фактического)

Резюме:

  • Обратное распространение = процесс перемещения назад по сети.
  • Градиентный спуск = процесс настройки весов и смещений (происходит во время обратной пророгации)

ПОСМОТРЕТЬ ВИДЕО (ЭТО УДИВИТЕЛЬНОЕ !!):

Нейронная сеть - Полный обзор блока 3:

- Нейронная сеть состоит из множества слоев (входных, скрытых и выходных).

- В каждом слое есть нейроны

- Нейроны имеют разные веса и смещения, которые определяют их значение при вычислении выходных данных.

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

- Веса - это значение нейрона (содержащего данные) при определении выходных данных.

- Предубеждения похожи на коэффициент

- Веса и смещения можно изменять и корректировать с помощью обратного распространения и градиентного спуска.

- Обратное распространение - это процесс перехода от выводаввода

- Градиентный спуск - это процесс настройки весов и смещений для минимизации функции стоимости.

- Функция активации решает, должен ли нейрон «активироваться» при определении выхода.

Блок 3 = Завершено! Хорошая работа! 🏆

Блок 4 - Важность данных в ИИ:

«Данные - это новая нефть»

Взглянем на Facebook:

Выручка Facebook за 12 месяцев, закончившихся 30 сентября 2020 года, составила 78,976 млрд долларов США; рост на 18,71% г / г.

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

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

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

Блок 5 - Пример ИИ в нашей повседневной жизни

Алгоритмы искусственного интеллекта окружают нас повсюду, и мы можем даже не знать об этом. Вы когда-нибудь были настолько увлечены социальными сетями, что 17:00 внезапно превратились в 9 часов вечера, когда казалось, что прошло всего 30 минут ?! ⏰

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

Как это работает:

Именно так это работает для алгоритмов Facebook: входом в нашу нейронную сеть будут сообщения, которыми вы делитесь, комментируете, лайкаете, время просмотра и т. Д.

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

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

По сути, ВСЕ, что вы делаете в сети, отслеживается.

Алгоритмы знают вас лучше, чем вы сами.

Знание - сила, и понимание того, как это работает, может помочь вам сформировать свое мнение о вещах; вместо того, чтобы верить всему, что вам «скармливают» через социальные сети.

Блок 4 и 5 = Завершено! ОЧЕНЬ ГОРЖУСЬ! 👑

Строим блоки:

УХ ТЫ! ВЫ ПРОСТО СДЕЛАЛИ ЭТО! Сделайте глубокий вдох, я знаю, что это сразу много информации. Потребуется больше информации, чтобы полностью освоить все термины и концепции, но вы это поняли!

Угадай, который час… ⏰

Пришло время построить эти блоки и собрать все вместе🎉

Блок 1: Что такое ИИ

Блок 2: Машинное обучение

Блок 3: нейронные сети

Блок 4: Важность данных в ИИ

Блок 5: Пример ИИ в нашей повседневной жизни

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

Похлопайте себя по спине 👏.

Давайте подключимся 🤝!

Подпишитесь на мою рассылку, чтобы получать ежемесячные обновления, ресурсы и статьи :).