Блог им. Kot_Begemot

Нейронные сети и ученье о данных


Когда вы занимаетесь искусственным интеллектом, то вам и в голову не приходит использовать нейронные сети! Да… такова их внутренняя сущность — к интеллекту они не имеют ровным счётом никакого отношения. В своё время NN (нейронные сети, Neural Networks) прочно ассоциировались со спиновыми стёклами — аналогом магнитной плёнки — на которую при желании можно записать ту или иную информацию. Да… в то время ещё не было ученых… как бы это правильнее перевести… ученых по данным… и в литературе часто можно было встретить выражение «образец, хранящийся в памяти сети». Другими словами, с самого своего рождения нейронные сети ассоциировались совершенно не с интеллектом, а с обычным хранилищем, своеобразной библиотекой.


Всё «обучение» нейронной сети, в те времена, сводилось к тому, чтобы загрузить в её память наиболее репрезентативную выборку образцов, чтобы с ней, в конце-концов, не случилось конфуза и она не смогла бы с завидной регулярностью идентифицировать афроамериканцев как горилл, как это случилось у Data Scientist'ов из Google Photos. Поэтому, помимо школьной  алгебры мы, как квалифицированные специалисты, изучали ещё и прикладной предмет, чтобы в любой момент, когда практика не согласовывалась бы с теорией, отметать… практику.


Нейронные сети и ученье о данных
Классификация чернокожих людей от Google Photos.




У нас тогда ещё не было современных технологий позволяющих заменить учёных датасайнтистами так, чтобы не зная предмета можно было бы успешно с ним работать и поэтому нам приходилось ещё и учиться. Это сегодня, ученье о данных пренебрегает даже простейшими формами регуляризации «Out of Range» и полагает, что умеет экстраполировать. Мы же, в свое время, понимали, что всё обучение нейронной сети — это чистой воды overfitting (чтобы учёным по данным было понятно) или, говоря тяжёлым, непонятным языком — подгонка. 



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


Другими словами, мы производили регуляризацию. Не стоит пугаться, что регуляризация (preprocessing) у нас была до «входа» и вообще до работы нейронной сети. Это только в ученье о данных существуют апостериорные регуляризации типа (L1, L2-тихонова и пр.), потому что именно оно, ученье о данных, не имеет никакого представления об объекте с которым работает, а для устаревших ВУЗовских наук — эти все регуляризации вообще не нужны, так как изначально все модели строятся и подгоняются правильно. 


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



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


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

★5
33 комментария
Как оказалось, ANN, леса-деревья и пр. Байесы — это уже ИИ. Кто бы раньше мог подумать.
Кстати, открою свою маленькую тайну — все это прекрасно работает в качестве обучаемой логики. ПЛМ, если хотите.
avatar
Интересно, но многовато стеба.

Шахматы, старкрафт, дота, ГО, автопилот в автомобилях, постановка диагнозов...

Интеллектом пока не пахнет, но это всего лишь 2020 год.
avatar
shprots, 

Маловероятно, что в SCII играют нейронные сети. MicroMachine и др. «игроки» даже близко не напоминают работу NN, а отрабатывают заданные алгоритмы, те же «сети», что обучаются у людей — нереально тупят, эмитируя деятельность профессиональных игроков без результата (потому что не понимают смысла их действий), но за счёт супер микро… шансов против них не так уж и много.

Шахматы не используют NN, покерные боты тоже не строятся на NN и тому-подобных алгоритмах.
avatar
Kot_Begemot, в шахматах тупо брутфорс, там мало вариантов, там нечего особо придумывать. Я имел ввиду в целом современный AI. Если речь только о NN, то да — они могут решать только определенные задачи.
avatar
shprots, да Brut-Force как-то ближе к AI, чем всё остальное. По крайней мере, Brut-Force способен находить решения, которых он раньше не видел. А NN просто «плёнка» с «автоматической перемоткой» — выдаёт наиболее похожий образ из памяти, этакий генератор ассоциаций.

Собственно, речь не об AI, потому что шахматных, покерных и прочих игроков я очень уважаю, речь о том, чего не стоит ожидать от нейронных сетей и как с ними работать.
avatar
Диплёрнинг за поледний 10 лет реально прорыв совершил.  Теперь вот какие вопросы стоят. А что если я например сделаю такой текст, что он будет романом, но определится как сказка. Или например сгенерирую звук, который человек из за особенносетй уха не услышит, но алиса от амазана спишит с карты денег) Как короче защититься от атак и как узнать что это была атака, а не действия пользователя.
avatar
Gravizapa, 

avatar
Gravizapa, 

avatar
Gravizapa, Так что теперь не только регулеризацию делать нужно, но в отдельных случаях еще и на таких примерах учить, чтобы сеть могла их отличать. Проблема только в том, что никто не знает что это за примеры могут быть) 
avatar
Gravizapa, это хорошая иллюстрация.
avatar
ага… старую новость про 99 мобильников в тележке и проход с ней по трассе найдёте сами?
ИИ должен был отфильтровать такое сразу… или присмотреться… а по факту дикая пробка, когда проезжали 5 машин в минуту…
avatar

Как Google отреагировал на парня, который имитировал пробки при помощи тележки и 99 телефонов?4 февраля158 тыс. дочитываний40 сек.176 тыс. просмотров. Уникальные посетители страницы.158 тыс. дочитываний, 90%. Пользователи, дочитавшие до конца.40 сек. Среднее время дочитывания публикации.

 

Ранее мы писали, как художник Саймон Векерт обманул карты Google, создав на них пробки. Для этого он медленно перемещал в тележке 99 смартфонов с запущенными Google Maps. Теперь у нас есть официальное заявление от Google относительно «взлома» карт Google, подробно описанного в оригинальной статье ниже. Теперь у нас также есть некоторая ясность относительно того, как художник выполнил «взлом».

В интервью для немецкой газеты Frankfurter Allgemeine художник Саймон Векерт рассказал, что у каждого из 99 смартфонов в тележке была своя собственная SIM-карта, и каждый активно использовал Google Maps для навигации. Он обнаружил, что если тележка перестанет двигаться, на Google Maps не появится пробка, поэтому тележка должна постоянно двигаться, чтобы пробка зафиксировалась в сервисе.

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

Google ответил в ответ на «взлом» с использованием 99 смартфонов и регистрацией ложных пробок:

Будь то автомобиль, тележка или  верблюд, нам нравится видеть творческое использование Карт Google, поскольку оно помогает нам улучшать работу карт с течением времени.

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



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

Что до искусственных нейросетей, то они тоже весьма далеки до естественных. Фактически это система сжатия N-мерной таблицы. Например, обычная двумерная таблица это нейросеть с двумя входами и одним выходом. Только она видит какую-то закономерность в организации данных, например, соседние ячейки таблицы ничем не отличаются, значит можно сократить объем информации в этом месте и т.д.
avatar
chizhan, этот тест уже давно пройден. Вы отстали минимум на шесть лет.
ru.m.wikinews.org/wiki/%D0%A2%D0%B5%D1%81%D1%82_%D0%A2%D1%8C%D1%8E%D1%80%D0%B8%D0%BD%D0%B3%D0%B0_%D0%BF%D1%80%D0%BE%D0%B9%D0%B4%D0%B5%D0%BD
avatar
chizhan, всё ML, начиная от линейной регрессии это система сжатия) Да и других нет зависимостей — любая зависимость помогает сжать, а если зависимостей нет, то остаётся только запомнить всё подряд, а это уже overfitting.
avatar
Вы очень смешные и немного жалкие. Каждый пользуется Гугл транслейтом, говорит адрес в навигаторе голосом, чтобы проложить дорогу, разговаривает с роботом, если звонит в какое нибудь МФЦ, но нет, никаких искусственных интеллектов не существует, а люди которые ими занимаются дурачки и шарлатаны, конечно.
Может быть дело в кажущейся лёгкости. До рождения детей я думал что большой разницы между человеком и кошкой нету. Мозг у тех и других, какие-то мысли, желания. Но собственные дети за пару тройку лет наглядно демонстрируют пропасть между человеком и животными. Когда например понимают что чёрточки и пятна на бумаге это реальные объекты и объединяют их в классы. Дальше, больше. Собаки и кошки, невероятно тупы. При этом кое какой интеллект у них есть. Больше чем у крокодилов  или птиц. Но в шахматы они у вас не выиграют, это очевидно. А ваш смартфон может.
avatar
ПBМ, да куда уж нам, дурачкам и шарлатанам… Это только пользователь может оценить есть у наших роботов интеллект или нету 
avatar
Kot_Begemot, Если программа создает фото людей никогда ранее не существовавших, то это ИИ.  Естествено что ее нужно обучить, так же как любого человека. Если его обучит стая собак, то жить он будет по собачьи, но это же не гворит что у него инттелект отчутсвует.
avatar
ПBМ, я пользуюсь гуглтранслейтом и он хороший показатель того, что искусственного интеллекта нет.
avatar

ivanovr, может быть, это просто доказывает, что русский язык черезчур сложен?..

 

Как известно, "Косил косой косой косой".

 

avatar
ch5oh, но он не понимает и смысл английского
avatar
Успех NN сейчас во многом определяется как человек находит возможность их применить, чтобы получить пользу. Например в играх компьютер может играть сам с собой и накапливать статистику, а с автопилотом сложнее — нам важно как он поведет себя в необычных редких ситуациях по которым статистики мало.

С точки зрения интеллекта человека NN очень нерациональны в плане обучения.
avatar
Когда одна дура спросила у Фарадея, какой толк от вашего электричества, он ответил: «Мадам, какой толк от новорожденного младенца?».
avatar
Ни с каким хранилищем или библиотекой нейронные сети с самого рождения не ассоциировались. Они решали, и довольно успешно, задачи распознавания образов. И обучение конечно же не сводилось к загрузке в память образцов, оно сводилось к подбору нужных коэффициентов (связей) между слоями сети, если речь идёт о персептроне.
Ассоциировать нейросети с искуственным интеллектом тоже мало кому приходило в голову. Тут вы что-то своё придумали.
avatar
МХ, вообще говоря, нейросети развивались и продолжают развиваться как искусственный интеллект, имитирующий человеческий мозг. Первая нейронная сеть относится к работам У.Питса и Мак-Калока — нейропсихологов, имитирующих деятельность живого нейрона.

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

При этом, именно подход к NN как к системам активной памяти сосредоточил внимание на задачах распознавания образов путем их сверки с образами из памяти сети. 
avatar
Kot_Begemot, но сеть — это не только память. Сети можно давать картинку, которую она раньше не видела — и она сделает правильную классификацию.
avatar
ch5oh… нет, она достаёт из памяти наиболее близкую картинку к той, которую вы ей показываете. Собственно, её она и выдаёт на выход. Другое дело, что выход у вас часто пронумерован и вместо картинки вы получаете указатель класса, но суть от этого не изменяется.





Аналогично задача регрессии в тех же RF решается через задачу классификации, а задача классификации через задачу памяти. Дерево «помнит»… область пространства ( в задачи регрессии) как эталонный образец из памяти и выдает вам номер, название, целевую функцию, изображение — любой объект соответствия по «карте» пространства. 

Это, грубо говоря, то же самое, что спросить у карты что находится на уровне 90* широты, 30* долготы. 
avatar
Kot_Begemot, всё так, но чего вы хотите? Если интеллект не запоминание+комбинаторика, то что остается? ГСЧ?
avatar
Sergey Pavlov, ммм… ГСЧ способен только найти глобальный максимум, при помощи широкого класса методов (как трясти корзину с большими и маленькими шарами, пока маленькие не скатятся вниз). В общем, это всё на что способен ГСЧ.

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

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

А для того чтобы это делать — нужно моделировать, хотя бы в уме. Моделировать наводнения, землетрясения, вспышки волатильности, кризисы и тренды… И тренировать «сеть» (алгоритм) на смоделированных сигналах. Как это делается, например, в играх/теории игр.

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

В антропологии, например, широко распространено несколько иное мнение о том, что собака моделирует (подбирает) собственное поведение, а человек  — среду своего обитания.  Вот… можно сказать, неблагоприятную среду мы и моделируем, как в GTO.
avatar
Kot_Begemot, у вас хороший пафос о том, что машинный «интеллект» тупой, поскольку тупо работает на запоминании и использовании запомненного по алгоритму в отличие от человеческого интеллекта, который не тупой. Пафос хороший, но давайте внесем ясность. Что может делать интеллект кроме того как запоминать (хранение) и комбинировать (мышление)? У меня только одно дополнение: еще возможна генерации случайности. Про ИИ мы знаем, что там вся случайность это псевдослучайность. Итого, что может быть отличием нетупого человеческого от тупого машинного интеллекта? Наличие подлинной случайности в мышлении и памяти?
avatar
Sergey Pavlov, я бы не сказал, что у меня пафос) Скорее некоторый реализм в отношении ML.


Что может делать интеллект кроме того как запоминать (хранение) и комбинировать (мышление)?

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

Вот тут диалектика такая получается — вроде как мы знаем и оперируем только тем, что дано нам в ощущениях (памятью), а вроде и нет.

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


Это вопрос не из праздных, как видите, гносеология занимается им по крайней мере уже 500 лет. На этот тонкий момент — склонности к абстрактным моделям (например линейной регрессии и т.д.) указывает В.И. Ленин при разделении философов на материалистов и идеалистов-критицистов, маскирующихся под учёных-эмпирических исследователей.

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

Когда Boosting только появился, например, то многие его противники (и я в том числе) называли его не более, чем overfitting. Почему? Потому что он тупо запоминает все значения и восстанавливает ту же линейную регрессию не в виде абстрактной функции, а в виде адреса памяти — «я помню, что для уравнения y=x, при x от 1 до 2, y приблизительно равен 1.5!». У такой «тупой» памяти (карты местности) абсурдно спрашивать чему будет равен y при x принадлежащим (7,10). То же относится и к нейронным сетям.


Но это только одна линия разделения ума и памяти. ГСЧ же здесь нужен как драйвер, некоторая сила, вынуждающая усаживать и усаживать память, сжимать её, выталкивая из одного локального минимума в другой.
avatar

теги блога Kot_Begemot

....все тэги



UPDONW