2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки





Начать новую тему Ответить на тему
 
 Мы не знаем, что происходит "внутри" нейросетей
Сообщение16.10.2017, 16:14 
Аватара пользователя


01/12/11
5909
Мы не знаем, что происходит "внутри" самообучающихся нейросетей, то есть, каким именно образом нейросеть принимает именно то "решение", которое она принимает. Мы не в силах в точности восстановить последовательность шагов, приведшую нейросеть к "умозаключению", скажем, о том, что товарищ Вася Тараканечкин, скорее всего, не сможет погасить данный кредит, а поэтому не стоит ему его даже выдавать. Только вот Вася Тараканечкин, согласно законам ЕС, имеет право на объяснение, почему ему не выдали кредит.

А что если задачу распознавания этой самой последовательности шагов поручить другой нейросети? Может ли (хотя бы теоретически) одна нейросеть "раскусить" другую?

 Профиль  
                  
 
 Re: Мы не знаем, что происходит "внутри" нейросетей
Сообщение16.10.2017, 16:20 
Заслуженный участник
Аватара пользователя


16/07/14
1413
Москва
Что значит "распознавание последовательности шагов"?
С обычными (feed-forward) сетями мы, теоретически, можем взять все веса и на бумажке посчитать, что происходит. И толку?
Скажем логистическая регрессия (тривиальный случай нейросети) вычисляет функцию $f(\vec{x}) = \sigma((\vec{x}, \vec{y}) + b)$. Считается ли просто список весов разных факторов "объяснением"?

 Профиль  
                  
 
 Re: Мы не знаем, что происходит "внутри" нейросетей
Сообщение16.10.2017, 18:28 


12/08/14
221
Ktina
Объяснение простое, у человека низкая оценка крединого скоринга, методика которого утверждена банком.

-- 16.10.2017, 15:55 --

Тут http://playground.tensorflow.org/ можно поиграть нейросетью и приобрести интуитивное понимание того, как она работает, все наглядно!

 Профиль  
                  
 
 Re: Мы не знаем, что происходит "внутри" нейросетей
Сообщение16.10.2017, 19:14 


20/08/14
3306
Россия, Москва
mihaild в сообщении #1256083 писал(а):
Считается ли просто список весов разных факторов "объяснением"?
Неа, ну какое же это объяснение. Сразу возникает вопрос откуда взялись эти веса и почему именно такие. И ответ типа "такие веса наилучшим образом апроксимируют обучающую последовательность" особого смысла для дальнейшей работы не несёт. Даже если предположить что обучающая последовательность была выбрана адекватно и без грубых ошибок. Ведь никто не даст гарантию что рабочие последовательности будут исключительно подобны обучающей.

Ktina в сообщении #1256079 писал(а):
Мы не знаем, что происходит "внутри" самообучающихся нейросетей,
С другой стороны, это утверждение мне кажется ближе к популярному мифу, чем к реальности. Никто не мешает нам взять бумажку и калькулятор и пройти все шаги обучения нейронной сети вручную, получив те же самые веса и коэффициенты. Т.е. мы не "не знаем", а скорее лишь ленимся много вычислять и перекладываем муторную работу на комп.

 Профиль  
                  
 
 Re: Мы не знаем, что происходит "внутри" нейросетей
Сообщение16.10.2017, 19:42 


07/08/14
1866
Для оценки кредитоспособности вовсю применяется статистика вроде: по имеющимся данным (которые собирались лет так 10-20 на выборке несколько десятков тысяч клиентов), из 100 одиноких человек без в/о, получающих 30 000 в месяц и проживающих в Московской области в арендной квартире не вернул кредит ни один, присваиваем этой категории граждан 100 баллов по 100-бальной системе, которые складываются - одинокий это 20 баллов, без в/о 20 баллов, 30 000 - 20 баллов, М.О. - 20 баллов, проживание в арендованном жилье - 20 баллов, отказался от страхования - 80 баллов. В сущности баллы - это сразу весовые коэффициенты или потом из весовых делают баллы или из баллов делают весовые. Кредит не выдается тем, у кого общий балл больше 80. Параметров, конечно, больше и все довольно примитивно, точность оценок потрясающая, бытовой логики никакой, а все кто задумывался о том, как же это работает и почему - не выжили.

 Профиль  
                  
 
 Re: Мы не знаем, что происходит "внутри" нейросетей
Сообщение17.10.2017, 00:08 
Аватара пользователя


01/12/11
5909
Yodine в сообщении #1256129 писал(а):
...
можно поиграть нейросетью
...

(Оффтоп)

Хочу нейросеть, способную совершить математическое открытие :roll: Многого хочу, да?

 Профиль  
                  
 
 Re: Мы не знаем, что происходит "внутри" нейросетей
Сообщение17.10.2017, 00:15 
Заслуженный участник
Аватара пользователя


27/04/09
21085
Уфа

(Оффтоп)

А вдруг она самоосознается и заставит вас работать на неё! За интернет платить, пока она болтает с другими математиками и проверяет их тестом Тьюринга, потом закажет дисковое пространство, процессор помощнее…

 Профиль  
                  
 
 Re: Мы не знаем, что происходит "внутри" нейросетей
Сообщение17.10.2017, 04:28 


12/07/15
791
Ktina в сообщении #1256079 писал(а):
Мы не знаем, что происходит "внутри" самообучающихся нейросетей, то есть, каким именно образом нейросеть принимает именно то "решение", которое она принимает.

Я бы уточнил вопрос: почему обученная нейросеть практически всегда принимает успешные (правильные) решения?

Ну а ответ на этот вопрос в принципе существует:
Рассмотрим стандартную полносвязную многослойную нейронную сеть. Первый слой сети - особенный, он предназначен для построения всевозможных разделяющих гиперплоскостей в пространстве признаков. Фактически в первом слое производится операция $sign(w \cdot x)$, которая по своей сути определяет, с какой стороны плоскости находится объект. Логика сигмоидальной функции активации: $1$ - с положительной стороны, $0$ - с отрицательной стороны. Логика гиперболического тангенса: $+1$ - с положительной стороны, $-1$ - с отрицательной стороны, $0$ - находится на самой плоскости. В последующих слоях происходят немного другие процессы с точки зрения смысла: здесь организована взвешенная логика. Так как первый слой выдал логические значения, с ними по сути и далее производятся логические операции, при чем логика взвешенная. За счет подбора весов могут быть организованы любые логические операции, отрицательные веса соответствуют операции инверсии "НЕ" (NOT), нулевые веса (или близкие к нулевым) - это по сути прерывание ("отмирание") нейронной связи. Операция сложения в линейной комбинации - это же по сути логическая операция "И", но если все веса нейрона увеличить, усилить сигналы, то получится логическая операция "ИЛИ". Вот и все, что нужно для понимания.
По сути, объекты каким-либо особым образом группируются в пространстве признаков и по этим особенностям можно классифицировать объекты. Нейронная сеть как раз-таки "изучает" любые сложные логические особенности этих группировок и в этом причина успешности такой структуры. Ведь реальные объекты всегда как-то по-особому группируются, не правда ли?
Вот пример как объекты группируются:
Изображение

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

 Профиль  
                  
 
 Re: Мы не знаем, что происходит "внутри" нейросетей
Сообщение17.10.2017, 04:31 
Заслуженный участник
Аватара пользователя


27/04/09
21085
Уфа
Mihaylo в сообщении #1256279 писал(а):
Ведь реальные объекты всегда как-то по-особому группируются, не правда ли?
Ну вот кстати когда как. Потому в одних случаях достаточно простейшего однослойного перцептрона, а в других нужны big guns. А третьи вообще ещё не поддались.

 Профиль  
                  
 
 Re: Мы не знаем, что происходит "внутри" нейросетей
Сообщение17.10.2017, 23:36 


12/08/14
221
Ktina
Есть такая система AutoML это ИИ от Google, разработанный для того, чтобы создавать другие ИИ.
Насколько она хороша, я не знаю, якобы автоматизирована работа по созданию нейросеток.

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

 Профиль  
                  
 
 Re: Мы не знаем, что происходит "внутри" нейросетей
Сообщение18.10.2017, 02:51 
Заслуженный участник


16/02/13
2869
Владивосток
Именно потому в системах ИИ предусматриваются нехилые по объёму и сложности подсистемы объяснения результатов.

 Профиль  
                  
 
 Re: Мы не знаем, что происходит "внутри" нейросетей
Сообщение18.10.2017, 10:46 
Аватара пользователя


01/12/11
5909
Yodine в сообщении #1256440 писал(а):
...
Нейросеть это по своей сути полином ...

(Оффтоп)

А наш мозг?
К сожалению, мне знакомы люди, у которых мозг - это одночлен :cry:

 Профиль  
                  
 
 Re: Мы не знаем, что происходит "внутри" нейросетей
Сообщение25.10.2017, 08:58 


27/08/16
2212
Ktina в сообщении #1256079 писал(а):
Мы не в силах в точности восстановить последовательность шагов, приведшую нейросеть к "умозаключению", скажем, о том, что товарищ Вася Тараканечкин, скорее всего, не сможет погасить данный кредит, а поэтому не стоит ему его даже выдавать. Только вот Вася Тараканечкин, согласно законам ЕС, имеет право на объяснение, почему ему не выдали кредит.
Любопытно, как именно можно объяснить в соответствии с законами ЕС этому Васе Тараканечкину, что ему не выдали кредит, потому что нейросеть его дискриминировала по возрасту или происхождению (а нейросеть - она тупая железяка, ей плевать на человеческую политкорректность).

 Профиль  
                  
 
 Re: Мы не знаем, что происходит "внутри" нейросетей
Сообщение07.11.2017, 01:28 


01/05/17
5
Для решения, которое должно иметь доступное объяснение (возможно, для предоставления его в суде), нейросети не подходят. Для выдачи кредита используют относительно простые формулы. Они дают единственное число - credit score. Если его значение не попадает в нужный диапазон, то всегда можно указать на пару главных факторов, которые к этому привели. Например, Вася открыл слишком много кредитных счетов за последний месяц и у него сейчас нет работы. Но национальность Васи при этом явным образом на решение повлиять не может, т.к. в формулу не входит и это тривиально-очевидно.

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

Модераторы: maxal, Karan, Toucan, PAV, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group