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

Ничего удивительного.

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

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

Подождите, машины могут учиться?

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

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

Компьютеры учатся точно так же.

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

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

Что они могут научиться делать?

Вот мы и подошли к сути дела. Помните, как вознаграждение и отрицательное вознаграждение являются ключевыми для работы машинного обучения? Ну, есть еще 3-я, еще более важная часть головоломки: Данные.

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

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

  • Контролируемое обучение
  • Обучение без учителя
  • Обучение с подкреплением

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

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

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

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

Противник? Нравится соперничество?

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

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

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

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

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

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

Но у GAN есть применение, которое, я считаю, будет революционным. Мы знаем, что они могут создавать данные или 2D-изображения, но что, если бы они могли создавать 3D-модели?

Спойлер: могут.

В 2016 году Цзяцзюнь Ву и др. опубликовал исследовательскую работу под названием «Изучение вероятностного скрытого пространства форм объектов с помощью 3D-генеративно-состязательного моделирования». Эта модель обычно была тем, что вы ожидаете от GAN, ей были предоставлены данные и сказано воспроизвести их. Однако вместо того, чтобы просто генерировать изображение, составленное из пикселей, он создает 3D-модель, используя изображения одного и того же объекта под разными углами.

Вот как.

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

Со временем модель знакомится с этими 3D-параметрами и становится «уверенной» или способна редактировать 3D-структуры. После этого его функции аналогичны обычному GAN.

В этом исследовании исследователи поставили перед моделью задачу воспроизвести определенные объекты, такие как стулья, и после обучения модель не только создала 3D-модели, но и модели имели разный дизайн. Некоторые были стройными, некоторые были коренастыми, а остальные были чем-то средним.

Ограничения

Как и у большинства вещей, у 3D-ганов есть свои ограничения. Вот основные из них:

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

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

Если вам интересно и вы хотите узнать больше, вы можете найти полную версию статьи здесь: https://arxiv.org/abs/1612.05872.

Последние мысли

Обобщить:

  • GAN — это ветвь машинного обучения, которая является ветвью искусственного интеллекта.
  • GAN использует 2 модели для создания данных
  • Их можно использовать для создания изображений, наборов данных и 3D-моделей.

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

Каковы ваши мысли по этой теме? Поделитесь своими мыслями по этой теме и статье! Если у вас есть какие-либо отзывы или вопросы, вы можете связаться со мной по электронной почте: [email protected]