В последнее время было обнаружено, что достижения в области глубокого обучения решили многие сложные проблемы, такие как обнаружение объектов, классификация изображений, распознавание лиц и т. д. До появления нейронных сетей эти проблемы считались почти «сложными для NP». Кроме того, концепция трансферного обучения наряду с доступностью огромных данных сделала модели глубокого обучения невероятно точными и точными, поскольку эти модели чаще всего дают точность более 90 процентов. Однако означает ли это, что эти модели достигли уровня интеллекта человека и что мы взломали код для искусственного общего интеллекта? Простой и прямой ответ на этот вопрос – НЕТ. Мы постараемся обсудить это подробнее в этой статье (по возможности с минимумом математики!).

Для любой задачи, такой как распознавание изображений или обнаружение лиц, мы обучаем нашу систему искусственного интеллекта или модель глубокого обучения с данными, которые считаются релевантными для данной задачи. Основное и наиболее спорное допущение, лежащее в основе использования этих данных, заключается в следующем: данная выборка данных является истинным представлением рассматриваемой совокупности, и именно здесь проявляется систематическая ошибка набора данных. Было обнаружено, что очень мала вероятность того, что выборка данных который мы выбрали для обучения нашей модели глубокого обучения, будет репрезентативным для населения, и поэтому наши модели глубокого обучения часто не учитывают ВСЕ дисперсии или особенности данных населения. Да, вполне возможно, что наша модель глубокого обучения может достичь поразительной точности на предоставленных тестовых данных; да, вполне возможно, что наша модель глубокого обучения может захватывать интересные объекты, которые не может увидеть даже человеческий глаз; однако это определенно не означает, что наша модель идеальна во всех смыслах. В лучшем случае мы можем просто заявить, что наша модель глубокого обучения правильно изучила базовое распределение обучающих данных. Отличная производительность нашей модели на протянутых тестовых данных может быть связана с тем фактом, что тестовые данные поступают из того же распределения данных, что и данные обучения, и, поскольку наша модель правильно изучила распределение данных данных обучения, наша модель работает хорошо. на тестовых данных. Существует высокая вероятность того, что данные о населении могут быть получены из распределения данных, которое отличается от распределения данных обучения, и поэтому наша модель может плохо работать с такими данными, которые поступают из распределения данных, отличного от распределения данных обучения. Например, предположим, что мы разработали модель глубокого обучения для классификации между Ferrari и BMW. Предположим, что мы обучили нашу модель изображениям Ferrari только красного цвета. Следовательно, вполне возможно, что наша модель глубокого обучения может интерпретировать красный цвет как особенность Ferrari, и это определенно не имеет отношения к Ferrari, поскольку есть много Ferrari, которые имеют цвет, отличный от красного. Следовательно, существует четкое различие между распределением обучающих данных и фактическим распределением данных о населении, и, следовательно, наша модель может не обнаруживать Ferrari, которые имеют цвет, отличный от красного. Это простейшая интуиция, скрывающаяся за разницей в распределении данных обучения и фактических данных о населении.

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

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

w=w+α*(-∂L/∂w),

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

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

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

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

Вывод:

Разработанные модели глубокого обучения все еще далеки от реализации мечты об искусственном общем интеллекте. Однако такие методы, как генеративные сети и объяснимый искусственный интеллект, определенно являются способом продвижения к реализации этой мечты!