Нейронные сети и машинное обучение

Регистрация
14.03.2018
Сообщения
8 001
Репутация
7
Баллы
15
Лайки
1777
Пол
мужской
Награды
pero
я не знаю такого понятия...

нет, выходной слой может быть любым по длине. выходной нейрон может выдавать любые данные. за частую, дает вероятность предсказания.
Я слаб в Математике. Ты может быть прав.
Но у меня есть практический опыт.
У нас есть многочисленные и сложные Rules.
Допустим, мне, чтобы понять, почему определёный field вызвал validation ошибку, мне надо проверить 20 if statements. На дебагере мне это легко сделать.
Сейчас, мы поставили decision tables - DRules которые автоматически генерируется на основе spreadsheet (со всеми вариантами на входе и выходе).
It sounds good, но теперь, это blackbox for me, я это уже не могу поставить на дебаггер, чтобы ответить, почему это неправильно работает.
С нейроной сетью будет очень тяжело to debug.
 
Регистрация
14.03.2018
Сообщения
8 001
Репутация
7
Баллы
15
Лайки
1777
Пол
мужской
Награды
pero
Такой необыкновенный успех у Гугл который сделал всю информацию в Мире легко доступной
Но прогресс с достижением Искусственного Разума пока не очень заметен.
Я думаю что всё упирается в лимит Человеческого мозга to deal with complexity.
Для Искусственного Разума нужны сложные нейросети. Но для создания сложных нейросетей нужен Искусственный Разум. :)
 
Регистрация
06.11.2019
Сообщения
632
Репутация
0
Баллы
0
Лайки
481
Пол
женский
Не могу утверждать, но в цитируемых древних писаниях есть намёк на истину, хоть и не в форме научного формализма. Древние зашли гораздо дальше, чем нынешние знатоки. Это просто сквозит из их писаний. Даже плохо переведенных и плохо понятых.
Самыми древними источниками на земле, передающими знания, считаются Упанишады, есть еще Герметические трактаты, которые соотносятся со знаниями предыдущих цивилизаций, что были на планете и т.д. Конечно, знания там изложены и закодированы в той форме, что была присуща уровню древних народов, где знания и образованность были элитарными и недоступными для необразованых масс. Это относится и к примитивизму языка Библии, но исходя из новейших исследований науки, многое из этих Писаний становится понятным. Например, адронный коллайдер помог выявить т.н. частицу Бога во Вселенной - Бозон Хиггса, математики высчитали фрактальность мироздания, сейчас обнаружены изменение массы протона, кажется на 4%, что свидетельствует о новых параметрах планеты и уменьшении плотности материи...Физики пришли к теории Поля, что подтверждает наличие этой самой вселенской нейросети, которая в точности совпадает с нейросетью человека....Не зря, видимо, существует утверждение, что познавая себя, человек познает мир.....
 
Регистрация
06.11.2019
Сообщения
632
Репутация
0
Баллы
0
Лайки
481
Пол
женский
Такой необыкновенный успех у Гугл который сделал всю информацию в Мире легко доступной
Но прогресс с достижением Искусственного Разума пока не очень заметен.
Я думаю что всё упирается в лимит Человеческого мозга to deal with complexity.
Для Искусственного Разума нужны сложные нейросети. Но для создания сложных нейросетей нужен Искусственный Разум. :)
Вам не кажется это парадоксом, что человек создает ИИ, чтобы он за человека думал? Если кто-то за кого-то думает, то он им управляет, не так ли? А человек навно полагает, что сможет контролировать того, кто умеет думать лучше?))
 
Регистрация
14.03.2018
Сообщения
8 001
Репутация
7
Баллы
15
Лайки
1777
Пол
мужской
Награды
pero
Вам не кажется это парадоксом, что человек создает ИИ, чтобы он за человека думал? Если кто-то за кого-то думает, то он им управляет, не так ли? А человек навно полагает, что сможет контролировать того, кто умеет думать лучше?))
ИИ ещё долго не сможет за Человека думать, и тем более управлять человеком. А вот работать за человека, или помогать лучше работать человеку, это хоть завтра : лучше проэктировать, быстрее создавать лекарства, управлять технологическими процессами, транспортом,...
 
Регистрация
11.05.2018
Сообщения
148
Репутация
5
Баллы
0
Адрес
RSM, CA
Лайки
295
Пол
мужской
Нейросеть - Это не Искусственный Разум.
Это просто оптимизация (паралеллизм) обычного relational поистка (query).
Нейросеть - никакие не реляционные запросы. Нейросеть (обученная) - нелинейное преобразование входных данных в набор конечных классификаций (выходной слой). Нейросеть ничего не ищет.
 
Регистрация
11.05.2018
Сообщения
148
Репутация
5
Баллы
0
Адрес
RSM, CA
Лайки
295
Пол
мужской
А дальше, нейроная сеть работает просто, как у Гугл.
Центральный раутр, при получении запроса - быстро определяет какие существующие таблицы (отвечающие за ключевые слова/фразы) должны быть задействованы.
Каждая таблица параллельно получит query и отвечает листом документов в порядке наибольшего совпадения.
Дальше, you merge this results, и отправляешь ресультат.
У Гугл, по каждому слову (грубо упрощая) будет отдельный сервер, вот тебе и нейронная сеть.
А для само-обучения, можно делать параллельные (отличающиеся) алгоритмы на одно и тоже слово, и по статистике отбирать алгоритмы которые лучше (точнее) подбирают документы в каждом конкретном случае.
Это какие-то отвлеченные фантазии, даже не на заданную тему. Гугл работает совсем не так, и нейросеть к гугловому поисковику не имеет никакого отношения. Вернее, имеет, но не к самому поиску, а к категоризации запроса.

Гугл не просто индексирует, а индексирует сразу с ранжированием страниц. Именно это ранжирование и категория запроса определяет порядок вываливания результатов поиска. Кому интересно, могут почитать о гуглевском алгоритме векторизации слов Word2Vec. Вот там при регрессии полного набора векторов слов (уменьшении размерности векторного пространства) обучается Convolutional Neural Network (желающие могут погуглить, такие же типы НС пользуют для распознавания графических образов).
Сам поиск в Гугеле осуществляется никаким не реляционным запросом, а асинхронным запросом ко всем кластерам с применением алгоритма MapReduce для формирования результата. Это всё - наука, а не monkey coding, особый раздел Big Data в общей науке Data Science.

Для всего этого нужно знать немало чего из Data Science, одно программирование тут не поможет аж никак. Вместе со стандартными программистскими приёмами, включая реляционные базы и запросы.
 
Регистрация
11.05.2018
Сообщения
148
Репутация
5
Баллы
0
Адрес
RSM, CA
Лайки
295
Пол
мужской
А изначальная задачка решается почти без напряга. Но, повторюсь, изучайте Data Science, без этого будет вон то, что наворочено выше. Которое работать не будет, а если и будет, то лучше было бы, чтобы не работало.

Для справки: элементарные нейросети, описанные в роликах, на практике в реальных задачах не работают. Они хороши для обучения и понимания принципа. Реальные нейросети весьма и весьма сложные структуры с очень специальной конфигурацией и способами обучения (всякие нейроны смещения, convolutional NN etc.), a не просто backward propagation. На этом надо съесть не одну собаку, чтобы начало получаться что-то похожее на ожидаемый результат.

Да, что касается изначальной задачки. Навскидку, это можно сделать так:

1. Вытянуть из документа обычный текст. Из doc, xls, pdf etc. документов - напрямую через соответствующие API, из изображений - каким-нибудь OCR engine (благо их сейчас как собак нерезаных).
2. Отфильтровать все stop words (предлоги, частицы и пр., что на фиг не нужно), в сети есть куча бесплатных словарей stop words для любого языка.
3. Создать вектор слов с последующей регрессией размерности векторного пространства. Для классификации документов вполне подойдёт алгоритм TF-IDF, весьма сейчас популярный для таких задач.
4. Прогнать полученный массив векторов через алгоритм K-means с нужными параметрами (подбираются эмпирически).

На выходе - классы документов, которым останется только присвоить удобоваримые имена. Всё то же самое работает и для определения класса документа на основе сгенерированных векторов после обучения.

Да, конечно надо сначала создать векторный массив "среднего" текста, в Data Science называеццо text corpus, их тоже есть в сети, по крайней мере для Аглицкого языка. Например, вот (корпус из ТВ, из Вики и т.д.):
Full-text data from English-Corpora.org: billions of words of downloadable data
Вектора этого корпуса нужны в качестве базы для классификации векторов определенных документов.

Преимущество этого метода в том, что обучение тут неконтролируемое (unsupervised learning), человеку надо только поменять названия классов документов.

Квалифицированный антропос сделает это за неделю со всеми тестами. Ну, за пару недель со всеми тест-прогонами stress tests.
 
Регистрация
14.03.2018
Сообщения
8 001
Репутация
7
Баллы
15
Лайки
1777
Пол
мужской
Награды
pero
Это какие-то отвлеченные фантазии, даже не на заданную тему. Гугл работает совсем не так, и нейросеть к гугловому поисковику не имеет никакого отношения.
Я только неделю назад спорил со своей знакомой которая работает в Гугл над нейро сетями,
что можно быстрее добится прогресса с Искусственным Разумом,
если не пытаться симмулировать Человеческий мозг, а наоборот, использовать живой человеческий мозг но с подключением памяти, сканирования и силы поиска компьютера.
Humans - good at connecting dotes.
Computers good at processing power.
 

Dev

Форум
Регистрация
09.02.2017
Сообщения
6 232
Репутация
114
Баллы
0
Лайки
4720
Пол
мужской
Для справки: элементарные нейросети, описанные в роликах, на практике в реальных задачах не работают. Они хороши для обучения и понимания принципа. Реальные нейросети весьма и весьма сложные структуры с очень специальной конфигурацией и способами обучения (всякие нейроны смещения, convolutional NN etc.), a не просто backward propagation. На этом надо съесть не одну собаку, чтобы начало получаться что-то похожее на ожидаемый результат.
Ролики в первом посте и приведены только лишь для понимания что такое НН.
Задача описанная выше решена, с использованием LSTM слоев.
val_categorical_accuracy = 93,3%
 
Регистрация
11.05.2018
Сообщения
148
Репутация
5
Баллы
0
Адрес
RSM, CA
Лайки
295
Пол
мужской
Я только неделю назад спорил со своей знакомой которая работает в Гугл над нейро сетями,
что можно быстрее добится прогресса с Искусственным Разумом,
если не пытаться симмулировать Человеческий мозг, а наоборот, использовать живой человеческий мозг но с подключением памяти, сканирования и силы поиска компьютера.
Humans - good at connecting dotes.
Computers good at processing power.
Как этот весь текст относится к объяснению того, как работает поисковик Гугль?
 
Регистрация
11.05.2018
Сообщения
148
Репутация
5
Баллы
0
Адрес
RSM, CA
Лайки
295
Пол
мужской
Задача описанная выше решена, с использованием LSTM слоев.
Можно и LSTM. Только у этого метода есть проблема в том, что, как и для всякой другой классификации на основе НС, это всё supervised learning, т.е. все категории заданы заранее, а далее обучается НС для правильного подгона под эти категории.

То, что я описАл выше - unsupervised learning. Мало того, в процессе определения категории при прогоне очередного документа описанный выше метод автоматически определит, что документ "не лезет" ни в какую из известных категорий и создаст для него новую категорию. Проценты я не мерил, но все задачи категоризации текстов имеют выхлоп в районе 90-95% в нонешние времена.

Как готовите данные для LSTM? Векторизацией?
 

Dev

Форум
Регистрация
09.02.2017
Сообщения
6 232
Репутация
114
Баллы
0
Лайки
4720
Пол
мужской
Как готовите данные для LSTM? Векторизацией?
Последовательность такая. (Могу что то напутать, ибо вариантов модели много было. На какой конкретно остановились - надо смотреть код.)
1. Дербаним весь документ XML. Какие то теги просто убираем, какие то заменяем на свои фразы.
2. Производим Стемминг слов.
Входной вектор представляем как Full Mapping (По умному это Токенизация по моему). То есть, имея словарь
1.мыла
2. мама
3.раму

Вход будет для фразы "мама мыла рама" таким.
1.->2
2.->1
3.->3
То есть входной слой это не вектор по словарю, а вектор по документу.
3. Встройка (Embedding)
4.LSTM
5. 3 FullyConnected слоя с ReLU.
6. выходной слой, сейчас их 14 категорий, с SoftMax.
 
Регистрация
20.06.2019
Сообщения
153
Репутация
0
Баллы
0
Лайки
103
Пол
мужской
Это я наткнулся на один короткометражный фильм... так там актрисе, приклеели голову известной киноактрисы...а потом пойди докажи, что это не она :122:
 
Регистрация
11.05.2018
Сообщения
148
Репутация
5
Баллы
0
Адрес
RSM, CA
Лайки
295
Пол
мужской
Последовательность такая. (Могу что то напутать, ибо вариантов модели много было. На какой конкретно остановились - надо смотреть код.)
1. Дербаним весь документ XML. Какие то теги просто убираем, какие то заменяем на свои фразы.
2. Производим Стемминг слов.
Входной вектор представляем как Full Mapping (По умному это Токенизация по моему). То есть, имея словарь
1.мыла
2. мама
3.раму

Вход будет для фразы "мама мыла рама" таким.
1.->2
2.->1
3.->3
То есть входной слой это не вектор по словарю, а вектор по документу.
3. Встройка (Embedding)
4.LSTM
5. 3 FullyConnected слоя с ReLU.
6. выходной слой, сейчас их 14 категорий, с SoftMax.
Это не классификация, это предсказание следующего слова в фразе.

А на кой нужны еще 3 fully connected слоя со стандартными сигмоидами? В связке с LSTM их никак невозможно тренировать backward propagation и их функциональность вообще непонятна.

А без этого это весьма стандартная схема широкого применения LSTM для потокового непрерывного входа. Переводчики, распознаватели речи и т.п. On fly.

Или я тут чего-то существенного не замечаю?
 

Dev

Форум
Регистрация
09.02.2017
Сообщения
6 232
Репутация
114
Баллы
0
Лайки
4720
Пол
мужской
Это не классификация, это предсказание следующего слова в фразе.
Ого, оказывается мы следующие слова предсказываем. :02: Посмотрите решение стандартных задач sentiment classification...

А на кой нужны еще 3 fully connected слоя со стандартными сигмоидами?
Я где то писал про сигмойдную функцию, Функция активации ReLU, когда стала сигмойдом?
3 слоя дают плавное схождение к категориям (выходному слою).

Или я тут чего-то существенного не замечаю?
Смотря что вы хотите заметить?
 
Регистрация
11.05.2018
Сообщения
148
Репутация
5
Баллы
0
Адрес
RSM, CA
Лайки
295
Пол
мужской
Ого, оказывается мы следующие слова предсказываем. :02: Посмотрите решение стандартных задач sentiment classification...
Sentiment classification не имеет никакого отношения к классификациям текста. Она применяется для оценки правильности или неправильности решения или одобрения суждения. Это тоже предсказание на основе потока, только бинарное, что намного проще предсказания слова в фразе (замечали как Гугель или Яндекс подсовывает вам следующие слова, пока вы набираете фразу для поиска?).

Вот про sentiment classification:
Machine Learning — Word Embedding & Sentiment Classification using Keras
И определение оттуда:
Sentiment classification is the task of looking at a piece of text and telling if someone likes or dislikes the thing they’re talking about.
Просто посмотрите перевод слова sentiment . :)

Я где то писал про сигмойдную функцию, Функция активации ReLU, когда стала сигмойдом?
3 слоя дают плавное схождение к категориям (выходному слою).
Ну да, признаю, это не сигмоид.

Fully connected layers в такой задаче работает совершенно стандартным образом и тренируется тоже стандартным образом, а вход для нее готовит LSTM, задача которой убрать из данных весь "мусор", не несущий смысла для выполнения задачи, т.е. выделить только существенные данные.

Смотря что вы хотите заметить?
Я хочу заметить классификацию документов.
 

Dev

Форум
Регистрация
09.02.2017
Сообщения
6 232
Репутация
114
Баллы
0
Лайки
4720
Пол
мужской
Sentiment classification не имеет никакого отношения к классификациям текста.
Во те на... приплыли...

Это тоже предсказание на основе потока, только бинарное
Так мне и надо предсказать к какой группе/категории относится документ. Только у меня не бинарная классификация, а мульти-классовая. Хотя и Sentiment classification может быть мульти-классовой.
что намного проще предсказания слова в фразе (замечали как Гугель или Яндекс подсовывает вам следующие слова, пока вы набираете фразу для поиска?).
Зачем мне это? У меня есть документы, мне надо расставить тэги для дальнейшего поиска документов. Зачем мне предсказывать следующие слова?

Просто посмотрите перевод слова sentiment . :)
Ну и? У меня подобная задача. По тексту документа определить не настроение писавшего, а тип документа. В чем проблема?
Fully connected layers в такой задаче работает совершенно стандартным образом и тренируется тоже стандартным образом, а вход для нее готовит LSTM, задача которой убрать из данных весь "мусор", не несущий смысла для выполнения задачи, т.е. выделить только существенные данные.
Так жеLSTM выявляет закономерности в фразах (последовательности слов).

Я хочу заметить классификацию документов.
А в чем у вас проблема это заметить?
 
Регистрация
11.05.2018
Сообщения
148
Репутация
5
Баллы
0
Адрес
RSM, CA
Лайки
295
Пол
мужской
Ну и? У меня подобная задача. По тексту документа определить не настроение писавшего, а тип документа. В чем проблема?
Проблема в том, что вы применяете sentiment classification к задаче, для которого этот алгоритм не предназначен.

А в чем у вас проблема это заметить?
В том, что такая схема весьма коряво подходит к классификации документов.

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

Впрочем, судя по флагу, вы обретаетесь в германском IT, а там, кагбэ, всё своеобычно весьма. Судя по выхлопу.
 
Регистрация
14.02.2020
Сообщения
558
Репутация
146
Баллы
0
Лайки
380
Пол
мужской
Самыми древними источниками на земле, передающими знания, считаются Упанишады, есть еще Герметические трактаты, которые соотносятся со знаниями предыдущих цивилизаций, что были на планете и т.д. Конечно, знания там изложены и закодированы в той форме, что была присуща уровню древних народов, где знания и образованность были элитарными и недоступными для необразованых масс. Это относится и к примитивизму языка Библии, но исходя из новейших исследований науки, многое из этих Писаний становится понятным. Например, адронный коллайдер помог выявить т.н. частицу Бога во Вселенной - Бозон Хиггса, математики высчитали фрактальность мироздания, сейчас обнаружены изменение массы протона, кажется на 4%, что свидетельствует о новых параметрах планеты и уменьшении плотности материи...Физики пришли к теории Поля, что подтверждает наличие этой самой вселенской нейросети, которая в точности совпадает с нейросетью человека....Не зря, видимо, существует утверждение, что познавая себя, человек познает мир.....
Осмелюсь встрять. Тут ведь дело ещё и в том, как современные исследователи толкуют эти источники. Иногда такое припишут,что и сами авторы были бы, мягко говоря, не слабо удивлены. Что-то похожее было по литературе в школе. Начиналось примерно так - этим и этим автор хотел показать то-то и то-то... Хорошо хоть автор отошёл уже в мир иной и так и не узнает - что же он хотел показать в своём фолианте.
 
Сверху Снизу