«Сбербанк» проводит соревнование в области ИИ с главным призом в 1 млн рублей
Комментарии
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(4) Когда начал читать новость сразу об этом подумал. Похоже на развод лохов или аукцион на сайте госзакупок. У меня знакомые в сбере работали лет 7, сам часто имел дело с продуктами сбера и тех.поддержкой. Доверия, а тем более уважения, к ним у меня нет никакого. Репутация у банка ниже плинтуса. Единственный его плюс - 50% и 1 акция принадлежат государству.
Была бы сумма - лимонов 5, и времени полгода - можно было бы на рекуррентной нейронной сети построить бота. Ну и обучающую выборку надо поболее - хотя - бы миллиард записей типа вопрос - ответ. На 100000 - слишком мала выборка. Ну или аугментацию выборки надо делать - но с этим сложнее - аугментацию графики намного легче делать чем предложения. Можно было бы взяться.
Нормальная тема, т.к. лям в руки это неплохой годовой доход многих специалистов. Нельзя на это смотреть, как на лям за проект по разработке чего-либо. В ляме за проект спецу дойдет на руки 100к в лучшем случае, остальное налоги, прибыль владельца, аренда офиса, зарплата менеджеров....
К тому же конкурс - риск, победитель будет, а результат победителя, хоть и лучший, не факт, что полностью удовлетворит потребность банка
Правда с этого приза придется заплатить НДФЛ:)
К тому же конкурс - риск, победитель будет, а результат победителя, хоть и лучший, не факт, что полностью удовлетворит потребность банка
Правда с этого приза придется заплатить НДФЛ:)
(7)
Это если задачу сделает один специалист. Но там скорее всего рассчитывают на команду. При чём команду людей имеющих опыт в решении подобных задача, а это довольно дорогие специалисты. И тогда миллион не выглядит уже таким хорошим вознаграждением.
Нормальная тема, т.к. лям в руки это неплохой годовой доход многих специалистов.
Это если задачу сделает один специалист. Но там скорее всего рассчитывают на команду. При чём команду людей имеющих опыт в решении подобных задача, а это довольно дорогие специалисты. И тогда миллион не выглядит уже таким хорошим вознаграждением.
(11) ничего хитрого, все нейронные сети уже придуманы как несколько десятков лет назад. Их давно уже разжёвывают в университетах (нормальных). Написано море фреймворков.
Самое сложное это выбрать удачные параметры для нейронной сети и написать удачный алгоритм (функцию) преобразования большого текста в небольшие числа. Дальше огромные бюджеты подобных проектов вырастают из обучения сети, ей надо скормить кучу эталонных текстов. Яндекс например для этого запустил проект, где можно заработать анализируя тексты своей головой, а потом результаты твоих анализов отдаются сети как образец для обучения. Человеку 50копеек за текст, системе 1 эталон.
За 2 месяца собрать нормальную выборку образцов - нереально и видимо это не входит в задачу, а значит это не система под ключ, а заготовка, которую надо докручивать, настраивать и упорно тестирвать
Самое сложное это выбрать удачные параметры для нейронной сети и написать удачный алгоритм (функцию) преобразования большого текста в небольшие числа. Дальше огромные бюджеты подобных проектов вырастают из обучения сети, ей надо скормить кучу эталонных текстов. Яндекс например для этого запустил проект, где можно заработать анализируя тексты своей головой, а потом результаты твоих анализов отдаются сети как образец для обучения. Человеку 50копеек за текст, системе 1 эталон.
За 2 месяца собрать нормальную выборку образцов - нереально и видимо это не входит в задачу, а значит это не система под ключ, а заготовка, которую надо докручивать, настраивать и упорно тестирвать
(12) если бы им еще понадобилось собрать самим выборку для обучения, обучить, протестировать и так несколько раз подряд, пока не получат результат, потом долго тестировать и допиливать, то да. Тут же надо только алгоритм, одну попытку, обучил на готовой выборке и сдал работу, за тебя проверят и поставят оценку :) это даже не запуск в опытную эксплуатацию, не альфа и не бета тестирование, а проверка работоспособности
(16)"Тут же надо только алгоритм, одну попытку"
- при обучении нейронной сети - нет алгоритма как такового - есть просто алгоритм обучения - подстройка весовых коэффициентов сети - например, методом обратного распространения ошибки - если данные один и те же, и все будут использовать реку рентные сети (а так и будет скорее всего у всех) - то и результат будет примерно один и тот же - (+- проценты) а это они и сами могут - фреймворков для нс. сетей - куча. У них задача, скорее всего, в том, чтобы к этой сетке прикрутить еще алгоритм коррекции ошибок сети - а вот тут уже и думать надо :-)
- при обучении нейронной сети - нет алгоритма как такового - есть просто алгоритм обучения - подстройка весовых коэффициентов сети - например, методом обратного распространения ошибки - если данные один и те же, и все будут использовать реку рентные сети (а так и будет скорее всего у всех) - то и результат будет примерно один и тот же - (+- проценты) а это они и сами могут - фреймворков для нс. сетей - куча. У них задача, скорее всего, в том, чтобы к этой сетке прикрутить еще алгоритм коррекции ошибок сети - а вот тут уже и думать надо :-)
(17) алгоритм самой сети - да, их уже полно готовых. Задание параметров сети, установка начального состояния это не алгоритм, согласен. Обучение сети тоже не создание алгоритма, т.к. обратная связь это тоже всего лишь подбор коэффициентов влияния.
А вот как сунуть текст на вход - это и есть та часть, которую надо не настроить готовую, а придумать и спрограммировать, ведь на вход сети можно подавать вектор или матрицу чисел, а текст произвольной длины таковым не является.
А вот как сунуть текст на вход - это и есть та часть, которую надо не настроить готовую, а придумать и спрограммировать, ведь на вход сети можно подавать вектор или матрицу чисел, а текст произвольной длины таковым не является.
(18)
Для этого есть библиотеки обработки естественных языков и тд. Там то же ничего придумывать не надо.
Основная как мне кажется проблема, это научить понимать контекст.
А вот как сунуть текст на вход - это и есть та часть, которую надо не настроить готовую, а придумать и спрограммировать, ведь на вход сети можно подавать вектор или матрицу чисел, а текст произвольной длины таковым не является.
Для этого есть библиотеки обработки естественных языков и тд. Там то же ничего придумывать не надо.
Основная как мне кажется проблема, это научить понимать контекст.
(18) "А вот как сунуть текст на вход - это и есть та часть, которую надо не настроить готовую, а придумать и спрограммировать, ведь на вход сети можно подавать вектор или матрицу чисел, а текст произвольной длины таковым не является" - ну, на самом деле текст как раз и можно сунуть на вход сети - для этого рекурентная сеть и существует. LSTM - сеть - как раз для этого.
(20)LSTM - там в вектор чисел превращается слово и слова последовательно суются на вход. После каждого слова функция меняется. Получается, в зависимости от положения слова в тексте получим разное его влияние на результат, а на самом деле это не так. Фразы:
"я хучу пиво"
"пива я хочу"
идентичны, но для LSTM это разная последовательность входов с огромной вероятностью даст разный результат
в LSTM слишком много комбинаций при которых она выдает не то, поэтому и обучить её гораздо сложней. Для точного результат нужно больше нейронов, больше слоев и больше обучающих примеров.
Прежде чем совать текст на вход сети, надо провести его анализ, выделить подлежащие сказуемые, ключевые слова их взаимосвязь. Уменьшить словарь текста заменив все синонимами, отсортировать в едином синтаксическом формате, а потом уже совать это на вход в сеть.
Если мы хотим, чтобы функция сети сделала предварительный анализ за нас, то в этой функции должно быть больше многочленов и дольше будем искать коэффициенты этих многочленов. Если мы знаем часть реальной функции, то надо ей воспользоваться, чтобы уменьшить черный ящик, который мы моделируем нашей сетью.
"я хучу пиво"
"пива я хочу"
идентичны, но для LSTM это разная последовательность входов с огромной вероятностью даст разный результат
в LSTM слишком много комбинаций при которых она выдает не то, поэтому и обучить её гораздо сложней. Для точного результат нужно больше нейронов, больше слоев и больше обучающих примеров.
Прежде чем совать текст на вход сети, надо провести его анализ, выделить подлежащие сказуемые, ключевые слова их взаимосвязь. Уменьшить словарь текста заменив все синонимами, отсортировать в едином синтаксическом формате, а потом уже совать это на вход в сеть.
Если мы хотим, чтобы функция сети сделала предварительный анализ за нас, то в этой функции должно быть больше многочленов и дольше будем искать коэффициенты этих многочленов. Если мы знаем часть реальной функции, то надо ей воспользоваться, чтобы уменьшить черный ящик, который мы моделируем нашей сетью.
(24)"я хучу пиво"
"пива я хочу" - дайте на вход сети эти два одинаковые по смыслу предложения - и на выходе сети установите в 1 (я очень упрощенно пишу) - а для "не хочу я пива" и "пива я не хочу" - установите на выходе 0. Обучайте сеть. И удивитесь что будет, я Вас уверяю. А если таких "синонимов" будет порядка миллиард, то Вы еще больше удивитесь способности сети. :-)
"пива я хочу" - дайте на вход сети эти два одинаковые по смыслу предложения - и на выходе сети установите в 1 (я очень упрощенно пишу) - а для "не хочу я пива" и "пива я не хочу" - установите на выходе 0. Обучайте сеть. И удивитесь что будет, я Вас уверяю. А если таких "синонимов" будет порядка миллиард, то Вы еще больше удивитесь способности сети. :-)
(18)
т.к. обратная связь это тоже всего лишь подбор коэффициентов влияния
- это не так - обратная связь это не подбор коэффициентов влияния (точнее это не совсем так) - это передача выходного состояния нейрона на себя или на нейрон с предыдущего слоя (для нейронов послойной сети).
(22) из нейрона выходят не состояния, а числа. Это число умножается на весовой коэффициент и идет куда угодно: на следующий слой, на слой ниже, в самого себя.
Нейроны/шмейроны - все термины.
Дали числа на вход, применили математическую функцию, получили числа ответа. Любая функция может быть приближенно описана комбинацией умножений и сложений, чем больше членов в приблизительной функции тем ближе она к реальной. Нейрон - член этой функции, который складывает входы и умножает на свой коэффициент. нейронная сеть - огромный многочлен.
Почему-то я никогда не смотрел на сети, как на сети, а просто как на очуметь какую большую но очень простую функцию ВеторЧиселОтвета = f(ВекторЧиселНаВходе). А обратная связь - та же функция вычисления коэффициентов первой в зависимости от отклонений результата от правильного ответа.
Дальше начинается магия с тыканьем пальцем в небо, т.к. реальная функция неизвестна по определению. Сколько надо членов (нейронов) в приблизтельной функции чтобы она была максимально точна? Какая степень каждого члена (количество слоев)? Как подрать функцию обратной связи? Какие задать коэффициенты членам (начальное состояние сети)?
Нейроны/шмейроны - все термины.
Дали числа на вход, применили математическую функцию, получили числа ответа. Любая функция может быть приближенно описана комбинацией умножений и сложений, чем больше членов в приблизительной функции тем ближе она к реальной. Нейрон - член этой функции, который складывает входы и умножает на свой коэффициент. нейронная сеть - огромный многочлен.
Почему-то я никогда не смотрел на сети, как на сети, а просто как на очуметь какую большую но очень простую функцию ВеторЧиселОтвета = f(ВекторЧиселНаВходе). А обратная связь - та же функция вычисления коэффициентов первой в зависимости от отклонений результата от правильного ответа.
Дальше начинается магия с тыканьем пальцем в небо, т.к. реальная функция неизвестна по определению. Сколько надо членов (нейронов) в приблизтельной функции чтобы она была максимально точна? Какая степень каждого члена (количество слоев)? Как подрать функцию обратной связи? Какие задать коэффициенты членам (начальное состояние сети)?