Почему взлетел Deep Learning?
От: Tai Гондурас  
Дата: 04.08.20 06:00
Оценка: :))) :))
Как думаете, почему взлетел Deep Learning (распознавание картинок, логические игры, беспилотные машины), хотя что там конкретно внутри — никто не знает.
Лучше колымить в Гондурасе, чем гондурасить на Колыме.
Re: Почему взлетел Deep Learning?
От: The Minister Земля  
Дата: 04.08.20 06:11
Оценка: +1 :)
Здравствуйте, Tai, Вы писали:

Tai>Как думаете, почему взлетел Deep Learning (распознавание картинок, логические игры, беспилотные машины), хотя что там конкретно внутри — никто не знает.


Потому что прогресс шел, технологии развивались и понадобилось "распознавание картинок, логические игры, беспилотные машины"
Re: Почему взлетел Deep Learning?
От: xma  
Дата: 04.08.20 06:25
Оценка: :)
Здравствуйте, Tai, Вы писали:

Tai>Как думаете, почему взлетел Deep Learning (распознавание картинок, логические игры, беспилотные машины), хотя что там конкретно внутри — никто не знает.


потому что мощности "ПК" позволили то ли ещё будет ..

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

я собственно ещё 17-18 назад предсказывал что начиная "с эквивалента 15 GHz" суммарной мощности процессора ПК пойдёт развитие ИИ ранее не виданное .. (или по крайней мере вскоре)

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

а сейчас нейросетка на GTX 1080 тренируется около суток вроде (по рассказам сбера, если не ошибаюсь) — для синтеза голоса ..
Отредактировано 04.08.2020 6:26 xma . Предыдущая версия .
Re[2]: Почему взлетел Deep Learning?
От: xma  
Дата: 04.08.20 06:33
Оценка: :)
Здравствуйте, The Minister, Вы писали:

Tai>>Как думаете, почему взлетел Deep Learning (распознавание картинок, логические игры, беспилотные машины), хотя что там конкретно внутри — никто не знает.


TM>Потому что прогресс шел, технологии развивались и понадобилось "распознавание картинок, логические игры, беспилотные машины"


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

оказывается проблема распознавания образов — тогда препятствовала этому в корне ..

возвращаясь к исходной теме, — ну и конечно вроде как в самих алгоритмах — прорывы какие то были (в последние 10 летие особенно, ближе к чуть ранее середины вроде основные)
Re[2]: Почему взлетел Deep Learning?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 04.08.20 07:43
Оценка: +1
Здравствуйте, xma, Вы писали:

xma>потому что мощности "ПК" позволили то ли ещё будет ..


А ещё появилось много данных. Раньше датасет для обучения детекции лиц размером в несколько тысям сэмплов казался огромным и каскады Хаара тренировались на нём неделю и больше. А теперь такой датасет будет размером не меньше миллиона сэмплов.

xma>скоро научат компьютер петь и синтезировать музыку (надеюсь) — и будете слухать мелодии из рая .. (если как в AlphaZero смогут забацать, когда нибудь)


Появляется: раз, два, три, четыре. Музыка — это же чистая математика, синтезируют давно, но не знаю, насколько хорошо — не специалист. Или ты ещё и про вокал?

xma>а сейчас нейросетка на GTX 1080 тренируется около суток вроде (по рассказам сбера, если не ошибаюсь) — для синтеза голоса ..


Не всегда и не везде:

GShard enabled us to scale up multilingual neural machine translation Transformer model with Sparsely-Gated Mixture-of-Experts beyond 600 billion parameters using automatic sharding. We demonstrate that such a giant model can efficiently be trained on 2048 TPU v3 accelerators in 4 days to achieve far superior quality for translation from 100 languages to English compared to the prior art.

Re: Почему взлетел Deep Learning?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 04.08.20 07:45
Оценка: +4 :)
Здравствуйте, Tai, Вы писали:

Tai>Как думаете, почему взлетел Deep Learning (распознавание картинок, логические игры, беспилотные машины)


Потому что он реально работает и приносит реальную пользу.

Tai>хотя что там конкретно внутри — никто не знает.


Знает на том уровне, что известны принципы и законы. Но конечное решение получается таким сложным, что функция каждого "винтика" не известна. Но должна ли быть известна? Мы в точности не знаем, как устроены растения, но успешно их выращиваем.
Re[3]: Почему взлетел Deep Learning?
От: xma  
Дата: 04.08.20 08:49
Оценка:
Здравствуйте, Nuzhny, Вы писали:

xma>>скоро научат компьютер петь и синтезировать музыку (надеюсь) — и будете слухать мелодии из рая .. (если как в AlphaZero смогут забацать, когда нибудь)


N>Музыка — это же чистая математика, синтезируют давно, но не знаю, насколько хорошо — не специалист.


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

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

N>Или ты ещё и про вокал?

вокал не обязательно, но если научатся одно — то думаю дойдут и до вокала

xma>>а сейчас нейросетка на GTX 1080 тренируется около суток вроде (по рассказам сбера, если не ошибаюсь) — для синтеза голоса ..


N>Не всегда и не везде:

N>We demonstrate that such a giant model can efficiently be trained on 2048 TPU v3 accelerators in 4 days ..

ну это понятно, но суть в том что точкой отсчёта оказалось как раз время выхода на порядок более мощных домашних систем чем на то время Athlon XP'шные системы, т.к. суперкомпьютеры того времени или использовались для более актуальных задач, или иным образом что то служило ограничивающим фактором, например в виду отсутствия достаточной массовости доступа к подобным ресурсам ..
Re: Почему взлетел Deep Learning?
От: kov_serg Россия  
Дата: 01.10.20 16:59
Оценка:
Здравствуйте, Tai, Вы писали:

Tai>Как думаете, почему взлетел Deep Learning (распознавание картинок, логические игры, беспилотные машины), хотя что там конкретно внутри — никто не знает.

Потому что это направление усиленно финансируют, т.к. оно создаёт запрос на вычислительные мощности и железо. Т.к. обычным прикладным задачам существующих мощностей блоее чем достаточно и улучшать текущее железо всё сложнее, приходится искать новые напрвления развития и вот DL как раз одно из них. Оно позволяет еще какое-то время впаривать новые мощности.
Отредактировано 01.10.2020 17:01 kov_serg . Предыдущая версия .
Re[2]: Почему взлетел Deep Learning?
От: Sharov Россия  
Дата: 01.10.20 19:49
Оценка:
Здравствуйте, kov_serg, Вы писали:

Tai>>Как думаете, почему взлетел Deep Learning (распознавание картинок, логические игры, беспилотные машины), хотя что там конкретно внутри — никто не знает.

_>Потому что это направление усиленно финансируют, т.к. оно создаёт запрос на вычислительные мощности и железо. Т.к. обычным прикладным задачам существующих мощностей блоее чем достаточно и улучшать текущее железо всё сложнее, приходится искать новые напрвления развития и вот DL как раз одно из них. Оно позволяет еще какое-то время впаривать новые мощности.

Ну таки благодаря DL появился существенно новый вид программ, типа голосовых помощников а-ля Алиса(nlp) и автопилоты(cv).
В этом реально поучаствовали нейронки -- было стала. Т.е. можно и по-другому, наверное, но нейронки это SOTA сейчас.
Кодом людям нужно помогать!
Re: Почему взлетел Deep Learning?
От: LaptevVV Россия  
Дата: 29.10.20 05:00
Оценка: +3
Tai>Как думаете, почему взлетел Deep Learning (распознавание картинок, логические игры, беспилотные машины), хотя что там конкретно внутри — никто не знает.
Почему это никто не знает?
Все знают — математика там.
Вероятность, статистика, алгебра, функции многих переменных, частные производные, нечеткая математика и логика.
Ну, и эвристики: генетические алгоритмы, алгоритмы другие живой природы и т.п.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Почему взлетел Deep Learning?
От: vsb Казахстан  
Дата: 29.10.20 05:22
Оценка:
Вроде прорыв в нейросетях был, с тех пор и пошло всё на взлёт. Задачи-то востребованные.
Re: Почему взлетел Deep Learning?
От: Cyberax Марс  
Дата: 30.10.20 04:34
Оценка:
Здравствуйте, Tai, Вы писали:

Tai>Как думаете, почему взлетел Deep Learning (распознавание картинок, логические игры, беспилотные машины), хотя что там конкретно внутри — никто не знает.

Потому, что работает. Как именно работает, на самом деле, понятно — нейронные сети просто распознают шаблоны.
Sapienti sat!
Re[2]: Почему взлетел Deep Learning?
От: Vzhyk2  
Дата: 10.11.20 05:12
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, Tai, Вы писали:


Tai>>Как думаете, почему взлетел Deep Learning (распознавание картинок, логические игры, беспилотные машины), хотя что там конкретно внутри — никто не знает.

C>Потому, что работает. Как именно работает, на самом деле, понятно — нейронные сети просто распознают шаблоны.
Всё еще проще. Сейчас взлетели только сверточные сети. В них по сути нелинейная функция с очень большим количеством переменных и для нее есть эффективная реализация градиентного спуска.
Дальше тупо на большом количестве данных запускается этот градиентный спуск и он находит локальный минимум функции. Всё, нейронка обучена.
Получили некую неусточвую хрень — при малом измении входных данных получаем большие изменения в результате.
Gо причине собственно вида функции и локального минимума нейронки легко обманываются добавляением небольших искажений в данные.

Но, да, самое удивительное, что во многих ситуациях это работает.
То бишь, что там внутри не знает только ну совсем ленивый и тупой, а вот почему такая простая хрень работает — вот это удивительно.
Re[3]: Почему взлетел Deep Learning?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 10.11.20 07:41
Оценка:
Здравствуйте, Vzhyk2, Вы писали:

V>Получили некую неусточвую хрень — при малом измении входных данных получаем большие изменения в результате.

V>Gо причине собственно вида функции и локального минимума нейронки легко обманываются добавляением небольших искажений в данные.

С этим тоже всё более успешно борятся — Adversarial machine learning.

V>Но, да, самое удивительное, что во многих ситуациях это работает.

V>То бишь, что там внутри не знает только ну совсем ленивый и тупой, а вот почему такая простая хрень работает — вот это удивительно.

Не удивительно.
Re[4]: Почему взлетел Deep Learning?
От: Vzhyk2  
Дата: 10.11.20 08:59
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>С этим тоже всё более успешно борятся — Adversarial machine learning.

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

V>>То бишь, что там внутри не знает только ну совсем ленивый и тупой, а вот почему такая простая хрень работает — вот это удивительно.

N>Не удивительно.
Ну расскажи почему не удивительно. Для меня удивительно.
Re: Почему взлетел Deep Learning?
От: Je suis Mamut  
Дата: 10.11.20 09:20
Оценка:
Tai>Как думаете, почему взлетел Deep Learning (распознавание картинок, логические игры, беспилотные машины), хотя что там конкретно внутри — никто не знает.

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

поэтому я и не занимаюсь DL, хоть это и штука очевидно полезная — для всех кроме ученых там ничего алгоритмического, просто администрирование огромного объема данных
Re[5]: Почему взлетел Deep Learning?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 10.11.20 10:09
Оценка:
Здравствуйте, Vzhyk2, Вы писали:

V>В простом народе называется — костыли. Пока не докажут, что существует некий глобальный минимум и извращениями над градиентным спуском его находят, до тех пор будут костыли.

V>Но могу сказать тебе заранее, что такого глобального минимума не существует. Но достаточно доказать, что у весов нейронки существует некая область глобального минимума и если градиентный спуск туда доходит, то будет работать правильно (после нужно придумать алгоритм нахождения этой области и быстрый).
V>Но пока неустойчивость нейронок говорит о том, что всё гораздо хуже и вообще странно что оное работает. Хотя бы по тому, что есть гигансткая проблема переобучения нейронок.

Наоборот — всё понятно: почему работает, почему неустойчиво и что можно сделать, чтобы было устойчивей. Никто не думает о чёрном ящике, о том, что текущие нейросетки — это подобие ИИ. Кажется, что всё достаточно приземлённо.

V>Ну расскажи почему не удивительно. Для меня удивительно.


Тогда скажи, что именно тебя в этом удивляет. Какая часть сети по распознаванию, например, или сегментации является загадкой. Свёртки? Полносвязные слои? Что?
Re[2]: Почему взлетел Deep Learning?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 10.11.20 10:13
Оценка: 5 (1)
Здравствуйте, Je suis Mamut, Вы писали:

JSM>поэтому я и не занимаюсь DL, хоть это и штука очевидно полезная — для всех кроме ученых там ничего алгоритмического, просто администрирование огромного объема данных


Я работаю около, фактически являюсь пользователем: беру готовый фреймворк, готовую архитектуру, а там дальше уже дообучить под себя, интегрировать фреймворк к себе в систему, сделать максимально параллельный пайплайн, оптимизировать всё вокруг. Там пока что достаточно и чисто алгоритмических задач, которые нейросети не могут оптимально (пока не могут?) взять на себя: банальный NMS, трекинг, многокамерность, 3D компьютерное зрение и т.д.
Re[3]: Почему взлетел Deep Learning?
От: Je suis Mamut  
Дата: 10.11.20 10:33
Оценка:
JSM>>поэтому я и не занимаюсь DL, хоть это и штука очевидно полезная — для всех кроме ученых там ничего алгоритмического, просто администрирование огромного объема данных

N>Я работаю около, фактически являюсь пользователем: беру готовый фреймворк, готовую архитектуру, а там дальше уже дообучить под себя, интегрировать фреймворк к себе в систему, сделать максимально параллельный пайплайн, оптимизировать всё вокруг. Там пока что достаточно и чисто алгоритмических задач, которые нейросети не могут оптимально (пока не могут?) взять на себя: банальный NMS, трекинг, многокамерность, 3D компьютерное зрение и т.д.


ну под "там" я имел ввиду внутри, конечно, а не вокруг
если меня, например, возьмут какую-то вебню прикручивать к DL — пойду с удовольствием
Re[6]: Почему взлетел Deep Learning?
От: Vzhyk2  
Дата: 11.11.20 05:08
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Тогда скажи, что именно тебя в этом удивляет. Какая часть сети по распознаванию, например, или сегментации является загадкой. Свёртки? Полносвязные слои? Что?

V>То бишь, что там внутри не знает только ну совсем ленивый и тупой, а вот почему такая простая хрень работает — вот это удивительно.
Re[3]: Почему взлетел Deep Learning?
От: Vzhyk2  
Дата: 11.11.20 05:11
Оценка: 5 (1)
Здравствуйте, Nuzhny, Вы писали:

N>Я работаю около, фактически являюсь пользователем: беру готовый фреймворк, готовую архитектуру, а там дальше уже дообучить под себя, интегрировать фреймворк к себе в систему, сделать максимально параллельный пайплайн, оптимизировать всё вокруг. Там пока что достаточно и чисто алгоритмических задач, которые нейросети не могут оптимально (пока не могут?) взять на себя: банальный NMS, трекинг, многокамерность, 3D компьютерное зрение и т.д.

Подожди еще 3-4 года, пока LSTM сети добавят к сверточным и сделают тебе американцы треккинг — юудешь юзать, каки положено местному машин леннингу.
Re[4]: Почему взлетел Deep Learning?
От: Vzhyk2  
Дата: 11.11.20 05:15
Оценка:
Здравствуйте, Je suis Mamut, Вы писали:

JSM>ну под "там" я имел ввиду внутри, конечно, а не вокруг

JSM>если меня, например, возьмут какую-то вебню прикручивать к DL — пойду с удовольствием
На уровне прикручивать там всё просто. Ставишь pytocrh или tensorflow (pip install ... обычно достатояно). Затем подсовываешь обыченную модель (их уже много в инете валяется). Всё, дальше тупо юзаешь одну фукнцию на питоне. Вот ты и машин лемминг.
В общем море туториалов на в инете, как всё это сделать в 3-10 строк кода.
Re[7]: Почему взлетел Deep Learning?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 11.11.20 08:26
Оценка:
Здравствуйте, Vzhyk2, Вы писали:

N>>Тогда скажи, что именно тебя в этом удивляет. Какая часть сети по распознаванию, например, или сегментации является загадкой. Свёртки? Полносвязные слои? Что?

V>>То бишь, что там внутри не знает только ну совсем ленивый и тупой, а вот почему такая простая хрень работает — вот это удивительно.

Странно: теория, почему это всё работает известна давно. Много делается инструментов для визуализации и интерпретируемости моделей. Начни, например, с сети Ле Куна 1998 года для распознавания символов. Она простая и разобрана до винтиков.
Re[4]: Почему взлетел Deep Learning?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 11.11.20 08:32
Оценка:
Здравствуйте, Vzhyk2, Вы писали:

V>Подожди еще 3-4 года, пока LSTM сети добавят к сверточным и сделают тебе американцы треккинг — юудешь юзать, каки положено местному машин леннингу.


Оно уже сделано и по качеству превосходит классические подходы: CenterTrack, FairMOT. Всё это хорошо, работает, но пока не практично.
Re[5]: Почему взлетел Deep Learning?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 11.11.20 08:35
Оценка:
Здравствуйте, Vzhyk2, Вы писали:

V>На уровне прикручивать там всё просто. Ставишь pytocrh или tensorflow (pip install ... обычно достатояно). Затем подсовываешь обыченную модель (их уже много в инете валяется). Всё, дальше тупо юзаешь одну фукнцию на питоне. Вот ты и машин лемминг.

V>В общем море туториалов на в инете, как всё это сделать в 3-10 строк кода.

А отом выяснится, что работает медленно и начнёшь разбираться с TensorRT, OpenVINO, ffmpeg и всё на C++. Или же в другую сторону: квантование моделей, prunning, следить, чтобы при этом качество не упало и т.д.
Re[8]: Почему взлетел Deep Learning?
От: Vzhyk2  
Дата: 11.11.20 10:41
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Странно: теория, почему это всё работает известна давно. Много делается инструментов для визуализации и интерпретируемости моделей. Начни, например, с сети Ле Куна 1998 года для распознавания символов. Она простая и разобрана до винтиков.

Вот даже интересно, почему ты отвечаешь всё время на вопрос "Как?", который тебе никто не задавал и не можешь понять что вопрос "Почему?".
Re[5]: Почему взлетел Deep Learning?
От: Vzhyk2  
Дата: 11.11.20 10:44
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Оно уже сделано и по качеству превосходит классические подходы: CenterTrack, FairMOT. Всё это хорошо, работает, но пока не практично.

Если превосходит, то почему не практично? А что практично?
Re[6]: Почему взлетел Deep Learning?
От: Vzhyk2  
Дата: 11.11.20 10:47
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>А отом выяснится, что работает медленно и начнёшь разбираться с TensorRT, OpenVINO, ffmpeg и всё на C++. Или же в другую сторону: квантование моделей, prunning, следить, чтобы при этом качество не упало и т.д.

Мда, твой ответ в точности поддтверждает то, что я думаю о постсовковом машин лемминге. Отличаются только некоторые группы в РФ в лучшую сторону — они таки занимаются машинным обучением и придумывают свои подходы или улучшают чужие.
Re[9]: Почему взлетел Deep Learning?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 11.11.20 10:51
Оценка:
Здравствуйте, Vzhyk2, Вы писали:

N>>Странно: теория, почему это всё работает известна давно. Много делается инструментов для визуализации и интерпретируемости моделей. Начни, например, с сети Ле Куна 1998 года для распознавания символов. Она простая и разобрана до винтиков.

V>Вот даже интересно, почему ты отвечаешь всё время на вопрос "Как?", который тебе никто не задавал и не можешь понять что вопрос "Почему?".

Я не отвечаю ни на вопрос "как?", ни на вопрос "почему?". Я тебе ничего не объясняю и не пытаюсь, а лишь показываю путь. Ещё раз повторю, что на вопрос "почему?" ответ давно известен и границы применимости нейросетей показаны: что какие-то нейросетки Тьюринг полны, что другие есть апроксиматоры гладких функций и т.д. Вопрос "почему?" обсасывается с самого начала нейросетей, когда показывают какой сетки достаточно для моделирования XOR и дальше по усложнению.
Я так понял, что это у тебя какая-то проблема, что не можешь понять почему они работают и пытаюсь помочь.
Re[6]: Почему взлетел Deep Learning?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 11.11.20 10:52
Оценка:
Здравствуйте, Vzhyk2, Вы писали:

N>>Оно уже сделано и по качеству превосходит классические подходы: CenterTrack, FairMOT. Всё это хорошо, работает, но пока не практично.

V>Если превосходит, то почему не практично? А что практично?

Медленно и узкоспециализированно.
Re[7]: Почему взлетел Deep Learning?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 11.11.20 10:53
Оценка:
Здравствуйте, Vzhyk2, Вы писали:

N>>А отом выяснится, что работает медленно и начнёшь разбираться с TensorRT, OpenVINO, ffmpeg и всё на C++. Или же в другую сторону: квантование моделей, prunning, следить, чтобы при этом качество не упало и т.д.

V>Мда, твой ответ в точности поддтверждает то, что я думаю о постсовковом машин лемминге. Отличаются только некоторые группы в РФ в лучшую сторону — они таки занимаются машинным обучением и придумывают свои подходы или улучшают чужие.

Просто ты не можешь отличить исследователя от инженера и пытаешься последних назвать обезьянками. Бывает.
Re: Почему взлетел Deep Learning?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 11.11.20 11:12
Оценка:
Здравствуйте, Tai, Вы писали:

Tai>Как думаете, почему взлетел Deep Learning (распознавание картинок, логические игры, беспилотные машины), хотя что там конкретно внутри — никто не знает.


За 2008-2012 при переходе на GPU цена одной операции с числом типа float, при характерных типах действий, упала примерно в 1000 раз — всё за счёт GPGPU.
Дальше типовая инерция IT: 5 лет — на хайп, 10 лет — на широкое освоение.

Дальше такого резкого падения нет и хайп останавливается. Ждём следующего успеха железа.
The God is real, unless declared integer.
Re[7]: Почему взлетел Deep Learning?
От: Vzhyk2  
Дата: 11.11.20 13:39
Оценка:
Здравствуйте, Nuzhny, Вы писали:

NN>Медленно и узкоспециализированно.

Быстрых и хоть чуть качественных я не видел. Быстрые — это тупые на базе IOU простейшего и безумно некачественные. Если хочешь чуть покачественнее, то тут нейронки лучше уже работают.
Узкоспециализирована — переобучи на большей базе на разные объекты, в чем проблема?
Re[8]: Почему взлетел Deep Learning?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 11.11.20 14:03
Оценка:
Здравствуйте, Vzhyk2, Вы писали:

V>Быстрых и хоть чуть качественных я не видел. Быстрые — это тупые на базе IOU простейшего и безумно некачественные. Если хочешь чуть покачественнее, то тут нейронки лучше уже работают.

V>Узкоспециализирована — переобучи на большей базе на разные объекты, в чем проблема?

Ха! Переобучи. Молодой человек шутить изволит. И всё равно будет медленно.
Методов для multiple object tracking'а придумано много, это проблема комплексная, не исчерпывающаяся одним твоим IoU. В 2020 году продолжают выходить статьи по тому, как с помощью графов быстро и робастно решать проблему ассоциации с перекрытием, пропажей и оявлением объектов. Пока эта проблема больше из computer science, чем из machiene learning области.
Посмотрим, что будет дальше
Re[9]: Почему взлетел Deep Learning?
От: Vzhyk2  
Дата: 12.11.20 05:13
Оценка: :))
Здравствуйте, Nuzhny, Вы писали:

N>Ха! Переобучи. Молодой человек шутить изволит. И всё равно будет медленно.

В чем проблема у тебя переобучить модель. Подходы с приличным качеством не на нейронках еще медленнее. К сведению инженеру.

N>Методов для multiple object tracking'а придумано много, это проблема комплексная, не исчерпывающаяся одним твоим IoU. В 2020 году продолжают выходить статьи по тому, как с помощью графов быстро и робастно решать проблему ассоциации с перекрытием, пропажей и оявлением объектов. Пока эта проблема больше из computer science, чем из machiene learning области.

N>Посмотрим, что будет дальше
Ладно, надоело. Решал я эту проблему не нейронками с MOTA около 70. Но с такими извращениями из стандартных подходов, что таки полез в нейронки. Твои ссылки глянул — так себе решения.
Для решения этой задачки нужна полноценая LSTM сетка на фичах из CNN — аналогично сеткам для распоpнавания речи. C другой стороны HMM сработают, но они сильно геморнее в реализации, чем нейронные сетки.
И тебе к сведению нейронка — это и есть грав, причем направленный.
Re[3]: дообучить сеть
От: Sharov Россия  
Дата: 12.11.20 11:04
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Я работаю около, фактически являюсь пользователем: беру готовый фреймворк, готовую архитектуру, а там дальше уже дообучить под себя, интегрировать фреймворк к себе в систему, сделать максимально параллельный пайплайн, оптимизировать всё вокруг. Там пока что достаточно и чисто алгоритмических задач, которые нейросети не могут оптимально (пока не могут?) взять на себя: банальный NMS, трекинг, многокамерность, 3D компьютерное зрение и т.д.


Все никак руки не дойдут спросить на одс, спрошу тут: что значит "дообучить" сеть?
Т.е. есть уже готовая сетка ( с соотв. весами), я добавляю какие-то свои скрытые слои
и обучаю уже только свои слои, так? Пример, мне надо распознавать кота в сапогах -- я беру
готовую сеть, уже обученную на котах, добавляю туда слой для распознавания шляп и готово.
Это так работает или нет? Т.е. как кусочки Лего, достраиваю\уточняю слой за слоем.
Максимально общий слой -- коты, далее какой-то специфичный слой для распознавания сапог и т.д.
Дообучение так работает?
Кодом людям нужно помогать!
Отредактировано 12.11.2020 11:06 Sharov . Предыдущая версия .
Re[4]: дообучить сеть
От: Vzhyk2  
Дата: 12.11.20 11:41
Оценка: 5 (1)
Здравствуйте, Sharov, Вы писали:

S>Все никак руки не дойдут спросить на одс, спрошу тут: что значит "дообучить" сеть?

Всё тупо и просто. Берешь обученную сетку на некоем датасете. И тупо вызываешь train на своем датасете. Она стартует не со случайных весов, а уже с некоторой точки в их пространстве. все верят, что если сначала обучили на некоем большом, а потом дообучили на своем, то она распознавать в твоих условиях будет лучше. Верят, потому что доказательтсва не существует.
В общем аналогично тому, как GMM построения стартуют с результатов векторного квантования.
Ну и проблема в том, что обучить большую и рабочую сетку с нуля на игровой карточке можно, но за очень очень долго, поэтому берут предобученные гуглами и мордокнигами на своих мощных серверах на imаgenet.

S>Т.е. есть уже готовая сетка ( с соотв. весами), я добавляю какие-то свои скрытые слои

S>и обучаю уже только свои слои, так?
Нет, обучаешь все, но свои стартуешь с чего хочешь, а остальные с предобученных. Но можешь и только свои, остальные заморозить (запретить модификации их параметров и весов).

S>Пример, мне надо распознавать кота в сапогах -- я беру

S>готовую сеть, уже обученную на котах, добавляю туда слой для распознавания шляп и готово.
S>Это так работает или нет? Т.е. как кусочки Лего, достраиваю\уточняю слой за слоем.
S>Максимально общий слой -- коты, далее какой-то специфичный слой для распознавания сапог и т.д.
Не нужно никаких слоев. Или добавляешь класс сапоги, чуть модифицируешь для этого сетку (для некоторых слоев количество классов важно) или тупо дообучаешь на свой датасет котов с сапогами.

З.Ы. И да для всего, что я напсиал лтебе по-русски придумано новая терминология, которая дублируют ту, что юзали ранее в задачах оптимизации. По сути, если решал ранее задачи оптимизации, обработки сигналов и видео, то всё твое обучение — это изучение этой новоявленой терминологии и сопоставление ее с классической.
Отредактировано 12.11.2020 12:00 Vzhyk2 . Предыдущая версия .
Re[5]: дообучить сеть
От: Vzhyk2  
Дата: 12.11.20 11:53
Оценка: 8 (1)
Здравствуйте, Vzhyk2, Вы писали:

V>Здравствуйте, Sharov, Вы писали:

Что такое нейронная сетка. Это направленный граф из функций со своими параметрами. Обучение сетки — это подбор параметров этих функций, что бы ошибка была минимальной. Все.
Сверточные потому, что основной набор функциё — это свертки с матрицей весов и вектор смещений и еще некоторые.
Основная фишка работающих нейронок, что для них есть простые функции вычисления градиента (обратный ход по графу) для градиентного спуска.
Re[4]: дообучить сеть
От: Буравчик Россия  
Дата: 12.11.20 12:20
Оценка: 5 (1)
Здравствуйте, Sharov, Вы писали:

S>Все никак руки не дойдут спросить на одс, спрошу тут: что значит "дообучить" сеть?

S>Т.е. есть уже готовая сетка ( с соотв. весами), я добавляю какие-то свои скрытые слои
S>и обучаю уже только свои слои, так? Пример, мне надо распознавать кота в сапогах -- я беру
S>готовую сеть, уже обученную на котах, добавляю туда слой для распознавания шляп и готово.
S>Это так работает или нет? Т.е. как кусочки Лего, достраиваю\уточняю слой за слоем.
S>Максимально общий слой -- коты, далее какой-то специфичный слой для распознавания сапог и т.д.
S>Дообучение так работает?

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

Достаточно взять готовую сетку, загрузить туда веса, и продолжить обучение — подсовывать ей котов, но уже с сапогами.
Через некоторое время веса в сетке поменяются — она научится определять эти сапоги на котах.
Best regards, Буравчик
Re[5]: дообучить сеть
От: Vzhyk2  
Дата: 12.11.20 12:30
Оценка:
Здравствуйте, Буравчик, Вы писали:

Б>Не обязательно (часто и не желательно) добавлять слои в сетку.

Кстати, а вот чего хотелось бы почитать. Это принципы построения сеток для разных задач, доказательства того сколько и каких слоев нужно и как их связывать в графе и почему и для каких задач.
Пока же то, что я видел — это шаманство. Вот я тут игрался долго и придумал вот такую сетку и она работает.
Re[4]: дообучить сеть
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 13.11.20 09:01
Оценка: 40 (4)
Здравствуйте, Sharov, Вы писали:

S>Все никак руки не дойдут спросить на одс, спрошу тут: что значит "дообучить" сеть?


В принципе так. В общем, техника называется transfer learning.

Если сказать более общно, но классическое машинное обучение делилось на 2 части: какие признаки выбрать и какой классификатор на них обучить. Это может быть Haar features + AdaBoost, LBP + AdaBoost, HOG + SVM, Integral Channel features + Random forest — великое множество всего. Раньше поиском фич в больших конторах занимались отдельные люди, другие работали над классификаторами. Фурье, вейвлеты, фильтры Габора — всё это годилось для получения фич. Надо сказать, что и сейчас многое годится и используется для нейросетей в том числе.

Теперь про нейросети. Мы считаем, что обученная на большом датасете сеть учится не столько распознавать объекты, сколько очень эффективно выделять значимые особенности, в частности картинок — фичи. Собственно, именно этим и ценны нейросети: мы можем сами не знать, что наиболее важно для распознавания, а сети выучиваются этому. Классификацией занимается, например, последний полносвязный слой. Далее для распознавания лицо/не лицо, мы выкидываем этот последний слой и заменяем его своим с двумя выходами. И начинаем учить уже исключительно на картинках с лицами и без них. При этом остальную сеть можно считать уже хорошо обученной на выделение всех необходимых особенностей лиц в том числе, веса замораживаются и не меняются во время этого финального обучения. Как показывается практика, в большинстве случаев такой подход оказывается робастней, чем обучение исключительно на целевом датасете. Почему? отому что чаще всего на картинки похожи на то, что было на том же ImageNet. Если же совсем не похожи, то уже начинается пляска.

Но этот подход таит в себе и слабость нейросетей, о которой говорил Вжик2, но почему-то считая это тайной нейросетей. Слабость — неустойчивость классифифкации к небольшим изменениям входных данных: небольшой невидимый глазу шум, влияние небольших деталей на результат распознавания, излишнаяя привязка к текстуре и т.д.
Получается, что камера, снимающая ночью, добавляет много самых разных шумов и ничего не распознаётся. Получается, что рыба распознаётся только тогда, когда она находится в руках, что леопардовый диван превращается в леопарда, а представитель негроидной расы становится гориллой, правильный макияж или футболка с узором препятствуют распознаванию лиц и т.д. Какая в этом тайна? Я хз. Исследователи исследуют сеть, выясняют что творится внутри сетки, визуализируют промежуточные слои, визуализируют, какие нейроны проходят с большим весом на тех или иных снимках и т.д. Далее придумывают новые аугментации, расширяют в правильном направлении датасет, придумываются новые лоссы — причина всегда выясняется и придумывается сособ решения.
Из последних достижений в этом направлении можно отметить GAN'ы, которые могут использоваться не только для генерации картинок, но и для повышения робастности сетей.
Re[5]: дообучить сеть
От: Vzhyk2  
Дата: 13.11.20 16:38
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Теперь про нейросети

Кстати, если ты в Нижнем, где OpenVino пилят, спроси у спецов (не инженеров) об этом:
А вот чего хотелось бы почитать. Это принципы построения сеток для разных задач, доказательства того сколько и каких слоев нужно и как их связывать в графе и почему и для каких задач.
Пока же то, что я видел — это шаманство. Вот я тут игрался долго и придумал вот такую сетку и она работает.
Re[6]: дообучить сеть
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 14.11.20 09:00
Оценка:
Здравствуйте, Vzhyk2, Вы писали:

V>Кстати, если ты в Нижнем, где OpenVino пилят, спроси у спецов (не инженеров) об этом:


Я не из Нижнего, но можешь зарегаться на ods.ai, там разработчики OpenVINO есть
Re[5]: дообучить сеть
От: Sharov Россия  
Дата: 16.11.20 10:17
Оценка:
Здравствуйте, Буравчик, Вы писали:

Б>Не обязательно (часто и не желательно) добавлять слои в сетку. Вполне возможно, что и старая сеть справится с твоей задачей.

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

Б>Достаточно взять готовую сетку, загрузить туда веса, и продолжить обучение — подсовывать ей котов, но уже с сапогами.

Б>Через некоторое время веса в сетке поменяются — она научится определять эти сапоги на котах.

Я не очень понимаю, зачем менять сущ. веса? Если они уже распознают котов, почему нужно их менять, почему
просто не добавить слой распознавания сапогов? Т.е. чем обучение с модификацией сущ. весов будет отличаться
от обучения с нуля? Я думал как в Лего, ООП подход и паттерн декоратор, использовать сущ. функциональность (архитектура+веса) и
добавить к ней свою. Но зачем тогда менять веса "базовой" сети?
Кодом людям нужно помогать!
Re[5]: классификаторы
От: Sharov Россия  
Дата: 16.11.20 10:23
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>В принципе так. В общем, техника называется transfer learning.


N>Если сказать более общно, но классическое машинное обучение делилось на 2 части: какие признаки выбрать и какой классификатор на них обучить. Это может быть Haar features + AdaBoost, LBP + AdaBoost, HOG + SVM, Integral Channel features + Random forest — великое множество всего. Раньше поиском фич в больших конторах занимались отдельные люди, другие работали над классификаторами. Фурье, вейвлеты, фильтры Габора — всё это годилось для получения фич. Надо сказать, что и сейчас многое годится и используется для нейросетей в том числе.


А почему такой разброс в классификаторах, т.е. от AdaBoost до SVM? Почему нет какой-то одной "техники"?
Кодом людям нужно помогать!
Re: Почему взлетел Deep Learning?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 16.11.20 10:49
Оценка:
Здравствуйте, Tai, Вы писали:

Tai>Как думаете, почему взлетел Deep Learning (распознавание картинок, логические игры, беспилотные машины), хотя что там конкретно внутри — никто не знает.

За последние 10 лет развились методы обучения (теория).
Появились такие удобные и бесплатные библиотеки как tensorflow.
Появилась возможность обучение проводить на видеокартах (фактически домашних компьютерах), а не на огромных кластерах.
Re[6]: классификаторы
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 16.11.20 11:46
Оценка: 20 (2)
Здравствуйте, Sharov, Вы писали:

S>А почему такой разброс в классификаторах, т.е. от AdaBoost до SVM? Почему нет какой-то одной "техники"?


Ммм, не очень понял вопрос. Но по сути: связка Haar + AdaBoost была фактически первой революцией в компьютерном зрении, когда можно было очень быстро детектировать объекты разных размеров. Фичи считались очень быстро за счёт использования интегральных изображений, а каскад позволял быстро отфильтровывать фон. Использование LBP ещё ускорило процесс, но в качестве потеряли из-за чрезмерной локальности признаков.
Через несколько лет появилась связка HOG + linear SVM, которая исользовала более медленные и качественные фичи, но быстрый классификатор. Это были вспышки идей в индустрии, когда ML пошёл в массы на все бытовые устройства: детекторы лиц и улыбок в фотоаппаратах, детекция лиц и пешеходов, распознавание лиц, применение распознавания в системах видеонаблюдения не только на серверах, но и на устройствах видеозахвата типа ip-камер, появились первые аппаратные реализации распознавания пешеходов для автомобильных камер.
После этого взрыва началось массовое исследование методов получения фич и самых разных классификаторов, стали появляться гибриды типа ICF. Майкрософт огорошил всех Кинектом (в нём, кажется, был random forest).
А потом пришёл DL и смёл большую часть этого добра. Разве что всякие бустинги сейчас нормально живут и здравствуют благодаря хорошей интерпретируемости решения.
Re[6]: дообучить сеть
От: Буравчик Россия  
Дата: 16.11.20 12:23
Оценка: 16 (1)
Здравствуйте, Sharov, Вы писали:

S>Я не очень понимаю, зачем менять сущ. веса? Если они уже распознают котов, почему нужно их менять, почему

S>просто не добавить слой распознавания сапогов? Т.е. чем обучение с модификацией сущ. весов будет отличаться
S>от обучения с нуля? Я думал как в Лего, ООП подход и паттерн декоратор, использовать сущ. функциональность (архитектура+веса) и
S>добавить к ней свою. Но зачем тогда менять веса "базовой" сети?

Если задача состоит в том, чтобы на изображении находить кота и рядом сапоги, то да, это может сработать.
Базовая сеть найдет кота, новые слои найдут сапоги, еще слой "объединит" кота и сапоги.

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

Вообще, сеть состоит из нескольких слоев. Каждый слой повышает уровень абстракции, используя данные с предыдущего слоя.
Примерно (очень условно), как-то так:
Первый слой — определяет простые линии (горизонтальные и вертикальные)
Второй слой — определяет небольшие фигуры (квадраты, круги) и сложные линии
Третий слой — определяет части кота (глаз, ухо, шерсть, коготь,)
Четвертый слой — определяет крупные части кота (голова, хвост, туловище)
Пятый слой (полносвязный) — определение наличия кота

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

Можно взять веса базовой сети и обучить все слои на новом датасете. Это будет быстрее обучения с нуля, т.к. слои уже что-то умеют.

Можно заморозить несколько первых слоев и дообучить только последние (например, пятый и четвертый). Это самый быстрый вариант

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

P.S. Я не настоящий сварщик, я только учусь. Если я не прав, пусть поправят меня более опытные люди.
Best regards, Буравчик
Re[7]: дообучить сеть
От: Vzhyk2  
Дата: 17.11.20 06:00
Оценка:
Здравствуйте, Буравчик, Вы писали:

Б>Но если хотим определять кота в сапогах — то не все так просто. Базовая сеть где-то внутри научилась определять у кота голову, лапы и хвост. На последнем слое она видит все эти части и говорит — это кот! Но если на кота одеть сапоги, то базовая сеть определит только голову и хвост, но не лапы (лапы не очень похожи на сапоги) — и скажет, это не кот.Поэтому нужно подправить веса базовой сети, чтобы подкорректировать определение задних лап, ведь теперь вместо лап сапоги.

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

Б>Вообще, сеть состоит из нескольких слоев. Каждый слой повышает уровень абстракции, используя данные с предыдущего слоя.

Б>Примерно (очень условно), как-то так:
Б>Первый слой — определяет простые линии (горизонтальные и вертикальные)
Б>Второй слой — определяет небольшие фигуры (квадраты, круги) и сложные линии
Б>Третий слой — определяет части кота (глаз, ухо, шерсть, коготь,)
Б>Четвертый слой — определяет крупные части кота (голова, хвост, туловище)
Б>Пятый слой (полносвязный) — определение наличия кота
Это уж в совсем объяснении для детей с привлечением аналогии.
Да, последующие слои сети как-то обобщают фичи с предыдущих, но что там за фичи получаются никто не знает, точнее не знают, как их соотнести с чем-то привычным.
Так то ты можешь сам посмотреть что получается — некие странные картинки без чего-либо привычного людям.

Б>Можно обучить сеть полностью с нуля (со случайных весов). И это даст даже лучшие результаты (при сравнимом качестве датасета!!!). Но это долго (слои ничего не умели, все слои придется настроить)

Не обязательно. Все зависит от местоположения глобального минимума и его наличия. Стартуешь ты со случайных или уже преобученных не важно. Все зависит от угадал-не угадал.
Re[6]: дообучить сеть
От: Vzhyk2  
Дата: 17.11.20 06:16
Оценка: 16 (1)
Здравствуйте, Sharov, Вы писали:

S>Я не очень понимаю, зачем менять сущ. веса? Если они уже распознают котов, почему нужно их менять, почему

S>просто не добавить слой распознавания сапогов? Т.е. чем обучение с модификацией сущ. весов будет отличаться
S>от обучения с нуля?
Потому что веса это точка в многомерном пространстве. Учитывая градиентный спуск то, функция должна быть дифференцируемая и еще много чего то там, причем вогнутая (если представить на картинке, написал тупо, потому как правильные слова из терии уже забыл, но в учебнике найдешь).
О целевой фуккции нейронок мы такого сказать не может (дифференцируемость есть, вогнутости нет). В итоге при старте где-то мы доходим до ближайшего локального минимума. Глобальный он или нет мы не знаем. Так как нейронки работают, что таки доходим до "глобального" (в градиентный спуск для нейронок добавляется стохастическая часть, чтобы таки вылазить из локальных).
Остюда, стартуя с предобученного мы можем достаточно быстро найти локальный мимнимум и проверить, дествительно-ли получилось то, что хотели, т.е. нашли "глобальный".
Но в силу неустойвивости нейронок может ничего не получиться и стартовать градиентный спуск нужно таки с другой точки.

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

З.Ы. Кстати для поиска глобального есть алгоритмы, генетический, отжига, муравьиный и подобные и они прекрасно кладутся на обучение сеток. Но нам тупо не хватит одной карточки (считать будет долго и очень). Но если у тебя кластер из 100-400 карточек, то в таком случае они будут работать уже приемлемое время и я уверен, что через 3-5 лет уже в инете будут лежать реализации этого подхода. Заодно будет детально исследовано куда же таки сходятся нейронные сетки. А это позволит в большой степени решить проблемы их неустойчивости.
Re[2]: Почему взлетел Deep Learning?
От: Vzhyk2  
Дата: 17.11.20 06:19
Оценка: +1
Здравствуйте, gandjustas, Вы писали:

G>Появилась возможность обучение проводить на видеокартах (фактически домашних компьютерах), а не на огромных кластерах.

Не появилась. С нуля большую сетку ты на одной игровой карточке не обучишь с нуля. А маленькие распознают очень плохо. На игровой типа 1080 ты можешь только дообучить готовую сетку на свой датасет и то не всегда.
Re[2]: Почему взлетел Deep Learning?
От: m2l  
Дата: 10.01.21 20:44
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Вероятность, статистика, алгебра, функции многих переменных, частные производные, нечеткая математика и логика.

Вот хотел бы я глянуть хоть одну статью по Deep Learning с частными производными

LVV>Ну, и эвристики: генетические алгоритмы, алгоритмы другие живой природы и т.п.

В ML очень часто сначала экспериментально новый метод делают, а потом, порой лет через 5-10 к нему дописывают математику.
Re: Почему взлетел Deep Learning?
От: m2l  
Дата: 10.01.21 21:10
Оценка:
Здравствуйте, Tai, Вы писали:

Tai>Как думаете, почему взлетел Deep Learning (распознавание картинок, логические игры, беспилотные машины), хотя что там конкретно внутри — никто не знает.


* дешевые и доступные вычислительные ресурсы
* появились большие объемы размеченных данных
* развитие области в целом, придумывают новые методы и совершенствуют то что есть
* эффективно и очень, очень просто в некоторых областях. Засунуть много данных, промолотить и получить на выходе нейронную сеть, которая с вероятностью в 80-90% будет делать верные предсказания/распознавания и т.д. — Порог вхождения минимален, а какой-то эффект можно получить почти сразу.

Насчёт тезиса:

что там конкретно внутри — никто не знает.


не совсем так. В целом, работа математически описана и математика там довольно доступная. По сути DL — просто интерполяция некоторой неизвестной функции, набором нелинейных функций активации. А обучение, это оптимизация этой интерполяции, приближающая её к той самой неизвестной. Другой вопрос, что 9 из 10, кто работает в области ML про эту математику ничего не знают совсем. Что совсем не мешает им пользоваться методом .train() и иметь зачастую очень приличные результаты.
Касаемо темных пятна, которые особо не известны: это как оптимизировать процесс обучение, как эффективней представлять признаки/веса и почему статистически значимы именно те вещи, на которые обучается сеть. И то, это смотря с какой стороны смотреть. Если с практической стороны, то ответить на вопрос, сколько конкретно слоёв нужно, что бы сеть заработала на вот этом наборе данных — математика по нормальному не может. По сути подбираеться экспериментально/эмпирически. С другой стороны, ответ почему при большем числе слоев не работает — переобучение. Почему при меньшем — недостаточная информационная емкость для извлечения признаков. Т.е. понимание, что внутри есть, но для упреждающего предсказания работы нейронной сети имеющегося понимания недостаточно и разработка модели — это в некотором роде своеобразный ручной перебор разных вариантов.
Re[3]: Почему взлетел Deep Learning?
От: Sharov Россия  
Дата: 11.01.21 00:32
Оценка: +1
Здравствуйте, m2l, Вы писали:

m2l>Здравствуйте, LaptevVV, Вы писали:


LVV>>Вероятность, статистика, алгебра, функции многих переменных, частные производные, нечеткая математика и логика.

m2l>Вот хотел бы я глянуть хоть одну статью по Deep Learning с частными производными

Гессиан, градиент не встречались? .
Кодом людям нужно помогать!
Re[3]: Почему взлетел Deep Learning?
От: LaptevVV Россия  
Дата: 11.01.21 05:51
Оценка:
LVV>>Вероятность, статистика, алгебра, функции многих переменных, частные производные, нечеткая математика и логика.
m2l>Вот хотел бы я глянуть хоть одну статью по Deep Learning с частными производными
Во всех учебниках.
Обучение нейронных сетей традиционно осуществляется методом градиентного спуска.
Ибо нейронная сеть в своей основе — функция многих переменных.
А метод градиентного спуска — это как раз частные производные.
Учите матанализ, вьюнош...
LVV>>Ну, и эвристики: генетические алгоритмы, алгоритмы другие живой природы и т.п.
m2l>В ML очень часто сначала экспериментально новый метод делают, а потом, порой лет через 5-10 к нему дописывают математику.
Ну, в эвристических алгоритмах математики-то как раз не очень много.
Хотя вероятности там почти везде.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Почему взлетел Deep Learning?
От: m2l  
Дата: 11.01.21 16:46
Оценка: -3
Здравствуйте, LaptevVV, Вы писали:

m2l>>Вот хотел бы я глянуть хоть одну статью по Deep Learning с частными производными

LVV>Во всех учебниках.
Научная статья по машинному обучению? Одна статья?
А то есть у нас некоторые вузы, со своими учебниками.... какой мешанины бреда туда только не копипастят, чисто что б объем добрать и KPI по издательству отработать.

LVV>Обучение нейронных сетей традиционно осуществляется методом градиентного спуска.

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

LVV>Учите матанализ, вьюнош...

Бравируете незнанием предметной области?


m2l>>В ML очень часто сначала экспериментально новый метод делают, а потом, порой лет через 5-10 к нему дописывают математику.

LVV>Ну, в эвристических алгоритмах математики-то как раз не очень много.
LVV>Хотя вероятности там почти везде.
Если мне не изменяет память, то мат аппарат, описывающий нейронные сети через частичные кусочно непрерывные функции появился лет через пятнадцать, после первых статей о перцептроне Розенблатта. Математики, там в общем-то действительно не так уж и много. Но сначала, экспериментально, алгоритм — потом, спустя годы матаппарат, этот алгоритм описывающий.

Даже более яркая история, про бустинг — сначала метод, а спустя лет 6 или 7 математическое описание и доказательство его сходимости. Хотя на практике всё было уже понятно и не один год, как использовалось.
Re[4]: Почему взлетел Deep Learning?
От: m2l  
Дата: 11.01.21 16:51
Оценка:
Здравствуйте, Sharov, Вы писали:

m2l>>Вот хотел бы я глянуть хоть одну статью по Deep Learning с частными производными


S>Гессиан, градиент не встречались? .


Встречались. Хотя, кстати гессиан совсем в неявной форме.
Просто, то, что я видел — это предельно прикладная форма. Реализация отдельных численных методов. А вот, что бы производные каким-либо образом рассматривались в аналитической форме, через них выводились какие-либо свойства модели, относительно обучающей выборки — такого не встречал. Если сталкивался, кинь ссылку, было бы интересно посмотреть, для расширения кругозора.
Отредактировано 11.01.2021 16:52 m2l . Предыдущая версия .
Re[5]: Почему взлетел Deep Learning?
От: Sharov Россия  
Дата: 12.01.21 09:50
Оценка: +1
Здравствуйте, m2l, Вы писали:


m2l>Во всяких теоремах о сходимости, критериях и условиях на базе которых строиться доказательство свойств градиентного спуска — дифференциалы и производные есть. А в самом методе, вот парадокс, нету. И в машинном обучение, на этапе тренировки или использовании модели — чудо, чудное, не рассчитываеться никаких производных.


Серьезно? А как обучение происходит, а бэкпроп как работает? Для чего тогда понаписали tf и pytorch? Именно для
вычисления частных производных. А как иначе минимум найти в многомерном пространстве?


m2l>Даже более яркая история, про бустинг — сначала метод, а спустя лет 6 или 7 математическое описание и доказательство его сходимости. Хотя на практике всё было уже понятно и не один год, как использовалось.


Речь про AdaBoost?
Кодом людям нужно помогать!
Re[5]: Почему взлетел Deep Learning?
От: Sharov Россия  
Дата: 12.01.21 09:54
Оценка: +1
Здравствуйте, m2l, Вы писали:

S>>Гессиан, градиент не встречались? .


m2l>Встречались. Хотя, кстати гессиан совсем в неявной форме.


А что значит в явной или в не явной форме?

m2l>Просто, то, что я видел — это предельно прикладная форма. Реализация отдельных численных методов. А вот, что бы производные каким-либо образом рассматривались в аналитической форме, через них выводились какие-либо свойства модели, относительно обучающей выборки — такого не встречал. Если сталкивался, кинь ссылку, было бы интересно посмотреть, для расширения кругозора.


Вот не совсем про DL, но вот сейчас изучаю XGBoost и там все(деревья решений) строится на основе оптимизации ряда Тейлора
2-й степени, соотв. и градиент и гессиан на месте. https://towardsdatascience.com/xgboost-mathematics-explained-58262530904a?gi=c721e006af47
Или можно нагуглить исходную статью по XGBoost. Вообще в ML без производных никуда, как минимум-то искать? И понятно, что
все это делается численными методами.
Кодом людям нужно помогать!
Re[6]: Почему взлетел Deep Learning?
От: Vzhyk2  
Дата: 20.08.21 12:05
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Или можно нагуглить исходную статью по XGBoost. Вообще в ML без производных никуда, как минимум-то искать? И понятно, что

S>все это делается численными методами.
Аналитическую производноую можно заменить разностной схемой.
Re[7]: Почему взлетел Deep Learning?
От: Sharov Россия  
Дата: 20.08.21 12:15
Оценка: +1
Здравствуйте, Vzhyk2, Вы писали:

V>Здравствуйте, Sharov, Вы писали:


S>>Или можно нагуглить исходную статью по XGBoost. Вообще в ML без производных никуда, как минимум-то искать? И понятно, что

S>>все это делается численными методами.
V>Аналитическую производноую можно заменить разностной схемой.

И? Бустинг это и делает. Это как-то отменяет знание мат. азов?
Кодом людям нужно помогать!
Re[3]: Почему взлетел Deep Learning?
От: sept_tone Интернет https://youtu.be/I3lhN5CUP2M
Дата: 18.10.21 15:03
Оценка:
Здравствуйте, xma, Вы писали:

xma>это давно уже надобилось, — подходящих вычислительных ресурсов для этого не было .. я ещё удивлялся лет 15 назад — чего все автобусы не автоматизируют, или по крайней мере — не пытаются это делать ..

ресурсы экспоненту никак не погасят.

xma>оказывается проблема распознавания образов — тогда препятствовала этому в корне ..

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

xma>возвращаясь к исходной теме, — ну и конечно вроде как в самих алгоритмах — прорывы какие то были (в последние 10 летие особенно, ближе к чуть ранее середины вроде основные)

можешь точнее сказать какие ? Я в последней теме по аджоинту погружался, им сенсетивити считают в нейронках.
Re[4]: Почему взлетел Deep Learning?
От: xma  
Дата: 18.10.21 15:41
Оценка:
Здравствуйте, sept_tone, Вы писали:

_> ресурсы экспоненту никак не погасят.


какую конкретно экспоненту ? квантовые компьютеры в помощь — они любят экспоненты ..

_> Распознавание образов достаточно просто сводится к вычислительным процессам, там нет сложных рекурсивных экспоненциальных взрывов ..


а где есть ?

_> можешь точнее сказать какие ?


гугли читай научные статьи судя по тому что куча учёных работает над новыми AI технологиями (и адаптацией старых), и ведущие компании их сманивают — на бешенный бабос, там не паханное поле для исследований ..

_>Я в последней теме по аджоинту погружался, им сенсетивити считают в нейронках.


и чё, какие выводы ?
Отредактировано 04.12.2021 11:58 xma . Предыдущая версия .
Re[5]: Почему взлетел Deep Learning?
От: sept_tone Интернет https://youtu.be/I3lhN5CUP2M
Дата: 04.11.21 07:05
Оценка:
Здравствуйте, xma, Вы писали:

xma>Здравствуйте, sept_tone, Вы писали:


_>> ресурсы экспоненту никак не погасят.


xma>какую конкретно экспоненту ? квантовые компьютеры в помощь — он любят экспоненты ..

Квантовое исчисление в квантовых компьютерах пока — миф.
Отредактировано 08.12.2021 1:10 ботаныч . Предыдущая версия .
Re[2]: Почему взлетел Deep Learning?
От: Nikе Россия  
Дата: 04.12.21 05:03
Оценка: -1
Здравствуйте, vsb, Вы писали:

vsb>Вроде прорыв в нейросетях был, с тех пор и пошло всё на взлёт. Задачи-то востребованные.


Нейросети — гадкое слово. Нафиг тащить биологтю в математику...
Нужно разобрать угил.
Re: Почему взлетел Deep Learning?
От: lpd Черногория  
Дата: 04.12.21 05:07
Оценка: -1
Здравствуйте, Tai, Вы писали:

Tai>Как думаете, почему взлетел Deep Learning (распознавание картинок, логические игры, беспилотные машины), хотя что там конкретно внутри — никто не знает.


Потому же, почему взлетели ммм и популярность Илона Маска.
У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)
Re[3]: Почему взлетел Deep Learning?
От: vsb Казахстан  
Дата: 04.12.21 07:59
Оценка:
Здравствуйте, Nikе, Вы писали:

vsb>>Вроде прорыв в нейросетях был, с тех пор и пошло всё на взлёт. Задачи-то востребованные.


N>Нейросети — гадкое слово. Нафиг тащить биологтю в математику...


Ну терминологию не я придумал. Вирусы тоже нефиг?

Да и по сути компьютерные нейросети изначально были попыткой копировать природные механизмы, пусть и в упрощённом виде, это потом уже развитие пошло по независимому пути.
Re[5]: Почему взлетел Deep Learning?
От: SkyKnight Швейцария https://github.com/dmitrigrigoriev/
Дата: 27.06.22 07:16
Оценка: +2
Здравствуйте, m2l, Вы писали:

m2l>Во всяких теоремах о сходимости, критериях и условиях на базе которых строиться доказательство свойств градиентного спуска — дифференциалы и производные есть. А в самом методе, вот парадокс, нету. И в машинном обучение, на этапе тренировки или использовании модели — чудо, чудное, не рассчитываеться никаких производных.

ты сейчас хорошо пошутил. Вообше при обучении там вычисляются производные много раз, именно поэтому стараются подбирать такие функции активации нейронов, чтобы производную можно было вычислить просто. Иначе обучение будет идти долго.
github.com/dmitrigrigoriev/
Re[3]: Почему взлетел Deep Learning?
От: SkyKnight Швейцария https://github.com/dmitrigrigoriev/
Дата: 27.06.22 07:19
Оценка:
Здравствуйте, Vzhyk2, Вы писали:


V>Всё еще проще. Сейчас взлетели только сверточные сети. В них по сути нелинейная функция с очень большим количеством переменных и для нее есть эффективная реализация градиентного спуска.

не только сверточные. RNN тоже весьма успешно используются.

V>Получили некую неусточвую хрень — при малом измении входных данных получаем большие изменения в результате.

V>Gо причине собственно вида функции и локального минимума нейронки легко обманываются добавляением небольших искажений в данные.
Для этого есть методы уже. И даже напридумывали кучу медотов объяснять почему нейронка приняла то или иное решение. Explainable AI (XAI) называется.
github.com/dmitrigrigoriev/
Re[4]: дообучить сеть
От: SkyKnight Швейцария https://github.com/dmitrigrigoriev/
Дата: 27.06.22 07:24
Оценка: 14 (1)
Здравствуйте, Sharov, Вы писали:

S>Дообучение так работает?

называется transfer learning

Если речь идет о CNN, то берут уже обученную сеть, подменяют последние dense слои на свои и, фактически, обучают только их, не трогая остальные параметры из сверточных слоев сети.
github.com/dmitrigrigoriev/
Re[6]: Почему взлетел Deep Learning?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 27.06.22 09:07
Оценка:
Здравствуйте, SkyKnight, Вы писали:

m2l>>Во всяких теоремах о сходимости, критериях и условиях на базе которых строиться доказательство свойств градиентного спуска — дифференциалы и производные есть. А в самом методе, вот парадокс, нету. И в машинном обучение, на этапе тренировки или использовании модели — чудо, чудное, не рассчитываеться никаких производных.

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

Есть и методы оптимизации второго порядка, но до них вычислительные мощности ещё не доросли: вычислять Гессиан — дорогое удовольствие.
Re[7]: Почему взлетел Deep Learning?
От: SkyKnight Швейцария https://github.com/dmitrigrigoriev/
Дата: 27.06.22 15:40
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Есть и методы оптимизации второго порядка, но до них вычислительные мощности ещё не доросли: вычислять Гессиан — дорогое удовольствие.

да, есть, там же gradient descent можно вычислить с помощью метода Ньютона (который использует матрицу Гессиана), но есть еще метод Бройдена, там просто используется апроксимация матрицы Гессиана. Метод, конечно, менее точный из-за апроксимации, но зато быстрее.

Ai(x(i) −x(i−1)) = ∇f(x(i))−∇f(x(i−1)).
Что-то типа такого.

там еще формула Шермана-Моррисона используется и, в принципе, в этом алгоритме матрица Гессиана вычисляется только один раз на самой первой итерации.

Но я особо оптимизацией не занимался, это не совсем мой конек, так что может где и прогнал. Писал по старой памяти ))
github.com/dmitrigrigoriev/
Re[3]: Почему взлетел Deep Learning?
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.06.22 17:10
Оценка: :)
Здравствуйте, xma, Вы писали:

xma>это давно уже надобилось, — подходящих вычислительных ресурсов для этого не было .. я ещё удивлялся лет 15 назад — чего все автобусы не автоматизируют, или по крайней мере — не пытаются это делать ..


xma>оказывается проблема распознавания образов — тогда препятствовала этому в корне ..


Автобус большой. Зачем ему распознавать образы? Пусть образы его распознают и трепещут.
Re[6]: Почему взлетел Deep Learning?
От: m2l  
Дата: 27.06.22 18:28
Оценка:
Здравствуйте, SkyKnight, Вы писали:

SK>Здравствуйте, m2l, Вы писали:


m2l>>Во всяких теоремах о сходимости, критериях и условиях на базе которых строиться доказательство свойств градиентного спуска — дифференциалы и производные есть. А в самом методе, вот парадокс, нету. И в машинном обучение, на этапе тренировки или использовании модели — чудо, чудное, не рассчитываеться никаких производных.

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

Ну, ок, покажи, кто там для сеток на pytorch или tf вычисляет производные и подбирает по ним функции активации. Со ссылкой на работающие модели этих специалистов или статью где они этим занимаются и оно помогает разработать реальную модель.
Мне действительно интересно, потому как это прям альтернативная реальность, что есть кто-то, кто лезет во внутрь backward() и step(), не из тех кто эти фреймворки пилит. А то с таким же апломбом можно заявлять, что знание корутин требует выученного наизусть Канта.
Re[7]: Почему взлетел Deep Learning?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 27.06.22 18:59
Оценка:
Здравствуйте, m2l, Вы писали:

m2l>Мне действительно интересно, потому как это прям альтернативная реальность, что есть кто-то, кто лезет во внутрь backward() и step(), не из тех кто эти фреймворки пилит.


Блин, да там внутри давно уже автоматическое дифференцирование, разве нет? Так же как и в плюсовом ceres solver и куче других библиотек.
Re[8]: Почему взлетел Deep Learning?
От: m2l  
Дата: 27.06.22 19:32
Оценка:
Здравствуйте, Nuzhny, Вы писали:

m2l>>Мне действительно интересно, потому как это прям альтернативная реальность, что есть кто-то, кто лезет во внутрь backward() и step(), не из тех кто эти фреймворки пилит.


N>Блин, да там внутри давно уже автоматическое дифференцирование, разве нет? Так же как и в плюсовом ceres solver и куче других библиотек.


Суть и заминусованного сообщения и ответа SkyKnight — что те, кто делает сетки на этот уровень не лезут. И что там под капотом как-бы не знают. И можно долго рассуждать, о том, что дифференцирование и производные — это самое важно для ML. Но, кто делает модели — как-то вот обходиться без применения этих знаний. А те кто классно умеют в матан чё-то испытывают сложности с обучаемостью своих творений.

Я это и спрашиваю — может вот реально есть какой-то опыт, где глубокие знания дифисчисления помогают как-то оптимизировать модель (с точки зрения того, кто эту модель обучает, а не разработчика фреймоврка)?

Вот реальный — практический кейс. У меня модель, обученная, работает. Но, инференс долгий. Производную или дифференциал чего мне взять чтоб ускорить её?
Отредактировано 27.06.2022 19:37 m2l . Предыдущая версия .
Re[9]: Почему взлетел Deep Learning?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 27.06.22 20:36
Оценка:
Здравствуйте, m2l, Вы писали:

m2l>Я это и спрашиваю — может вот реально есть какой-то опыт, где глубокие знания дифисчисления помогают как-то оптимизировать модель (с точки зрения того, кто эту модель обучает, а не разработчика фреймоврка)?


Ну, тебе при выборе лосс-функции на этапе обучения её производная понадобится.

m2l>Вот реальный — практический кейс. У меня модель, обученная, работает. Но, инференс долгий. Производную или дифференциал чего мне взять чтоб ускорить её?


Это же только для обучения, а не инференса
Re[9]: Почему взлетел Deep Learning?
От: SkyKnight Швейцария https://github.com/dmitrigrigoriev/
Дата: 28.06.22 08:18
Оценка:
Здравствуйте, m2l, Вы писали:

m2l>Суть и заминусованного сообщения и ответа SkyKnight — что те, кто делает сетки на этот уровень не лезут. И что там под капотом как-бы не знают. И можно долго рассуждать, о том, что дифференцирование и производные — это самое важно для ML. Но, кто делает модели — как-то вот обходиться без применения этих знаний. А те кто классно умеют в матан чё-то испытывают сложности с обучаемостью своих творений.

Что значит испытывают сложности, те кто в матан могут? Чем им их знания вышки могут помешать построить, скажем, при помощи Keras модель, обучить и использовать. Я вопрос вообще не понял никак.


m2l>Я это и спрашиваю — может вот реально есть какой-то опыт, где глубокие знания дифисчисления помогают как-то оптимизировать модель (с точки зрения того, кто эту модель обучает, а не разработчика фреймоврка)?

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

m2l>Вот реальный — практический кейс. У меня модель, обученная, работает. Но, инференс долгий. Производную или дифференциал чего мне взять чтоб ускорить её?

Производные высчитывают только на этапе обучения, чтобы подобрать веса параметров нейрона. Когда ты уже используешь обученную модель, то в этот момент производные не высчитываются.
Ты бы просто почитал про back propagation и как оно работает. Там, на самом деле ничего сложного и нет.

Что у тебя за модель, что она делает и что там тормозит?
github.com/dmitrigrigoriev/
Re: Почему взлетел Deep Learning?
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 28.06.22 10:52
Оценка:
Здравствуйте, Tai, Вы писали:

Tai>Как думаете, почему взлетел Deep Learning (распознавание картинок, логические игры, беспилотные машины), хотя что там конкретно внутри — никто не знает.


Почему взлетели и какая унутре неонка — вещи слабо связанные.
Взлетели потому, что на эти задачи был и есть дикий спрос. А вычисления стали дешевле на порядки.
Re[10]: Почему взлетел Deep Learning?
От: m2l  
Дата: 28.06.22 11:22
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Ну, тебе при выборе лосс-функции на этапе обучения её производная понадобится.


Ок, но приведи пример, от чего ты эту производную берешь и как используешь для выбора функции потерь.

m2l>>Вот реальный — практический кейс. У меня модель, обученная, работает. Но, инференс долгий. Производную или дифференциал чего мне взять чтоб ускорить её?


N>Это же только для обучения, а не инференса


Опять-же, это выдаёт в тебе теоретика, который с реальными моделями не работал. Потому, что ускорение инференса — это переобучение с меньшим числом слоёв/нейронов/связей и т.д... И по твоей логике для обучения производная понадобиться, а на переобучении и так сойдёт.
Re[10]: Почему взлетел Deep Learning?
От: m2l  
Дата: 28.06.22 11:34
Оценка:
Здравствуйте, SkyKnight, Вы писали:

SK>Что значит испытывают сложности, те кто в матан могут? Чем им их знания вышки могут помешать построить, скажем, при помощи Keras модель, обучить и использовать. Я вопрос вообще не понял никак.

А чем их знания могут помочь построить при помощи Keras модель, обучить и пользоваться? Мой поинт именно в этом, что производную никто считать не будет. И это знание — что оно есть, что нету не влияет на способность описать и обучить модель. Или не способность.


m2l>>Я это и спрашиваю — может вот реально есть какой-то опыт, где глубокие знания дифисчисления помогают как-то оптимизировать модель (с точки зрения того, кто эту модель обучает, а не разработчика фреймоврка)?

SK>Обучение модели это не что иное как задача по оптимизации. Желательно найти глобальный минимум функции потерь, но обычно это не удается, поэтому есть разнообразные техники при обучении, чтобы не попасть сразу же в первый локальный минимум.
Я это знаю. Но вопрос тот-же: как знание дифисчисления помогает человеку пользоваться библиотекой с готовым набором оптимизаторов? На каком этапе при работе с датасетом, описанием модели или обучением человек должен им воспользоваться, применительно к чему, как это помогает выбрать функцию активации или число нейронов в слое?

m2l>>Вот реальный — практический кейс. У меня модель, обученная, работает. Но, инференс долгий. Производную или дифференциал чего мне взять чтоб ускорить её?

SK>Производные высчитывают только на этапе обучения, чтобы подобрать веса параметров нейрона. Когда ты уже используешь обученную модель, то в этот момент производные не высчитываются.
SK>Ты бы просто почитал про back propagation и как оно работает. Там, на самом деле ничего сложного и нет.
Я не только читаю, но и в живую использую. Поэтому меня и несколько выбивает из колеи, когда люди, которые только читали, начинают выдавать прочитанное за первую истину.
Вот смотри — по твоим собственным словам производные высчитываться только на этапе обучения. Их кто считает, человек или ML библиотека? И если это библиотека, то как именно знание производных поможет обучить модель быстрее/выше/сильней?


SK>Что у тебя за модель, что она делает и что там тормозит?


Ну и опять же. По моему опыту, когда замены библиотек исчерпывают запас оптимизации, наступает время переобучения модели, у который слишком большой инференс. Какую производную мне посчитать, что-бы переобучить модель, потеряв пару сотых в точности, но ускорив её раза в два?
Отредактировано 28.06.2022 11:35 m2l . Предыдущая версия .
Re[11]: Почему взлетел Deep Learning?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 28.06.22 11:35
Оценка: 7 (1)
Здравствуйте, m2l, Вы писали:

N>>Ну, тебе при выборе лосс-функции на этапе обучения её производная понадобится.

m2l>Ок, но приведи пример, от чего ты эту производную берешь и как используешь для выбора функции потерь.

Лосс-функцию я выбираю под задачу. Например, у меня сегментация, и сильно несбалансированные классы (например, сегментация дорог на спутниковых снимках), и я могу подбирать её так, чтобы не пропускать дороги. Я подбираю функцию потерь, ищу производную, ставлю эксперимент, меняю функцию, обучаю и т.д. Или я беру обычный детектор и меняю цель с bounding box на rotated rectangle. Мне также надо менять и лосс функцию в том числе. Короче, это постоянно требуется, не вижу проблем.

m2l>Опять-же, это выдаёт в тебе теоретика, который с реальными моделями не работал. Потому, что ускорение инференса — это переобучение с меньшим числом слоёв/нейронов/связей и т.д... И по твоей логике для обучения производная понадобиться, а на переобучении и так сойдёт.


Переобучение — это и есть обучение. Я в принципе не уловил логику и не понял вопрос. ещё я могу делать пруннинг, квантизацию, да мало ли что — вплоть до ручной реализации и оптимизации сети на целевой платформе.
Re[12]: Почему взлетел Deep Learning?
От: m2l  
Дата: 28.06.22 15:50
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Здравствуйте, m2l, Вы писали:


N>>>Ну, тебе при выборе лосс-функции на этапе обучения её производная понадобится.

m2l>>Ок, но приведи пример, от чего ты эту производную берешь и как используешь для выбора функции потерь.

N>Лосс-функцию я выбираю под задачу. Например, у меня сегментация, и сильно несбалансированные классы (например, сегментация дорог на спутниковых снимках), и я могу подбирать её так, чтобы не пропускать дороги. Я подбираю функцию потерь, ищу производную, ставлю эксперимент, меняю функцию, обучаю и т.д. Или я беру обычный детектор и меняю цель с bounding box на rotated rectangle. Мне также надо менять и лосс функцию в том числе. Короче, это постоянно требуется, не вижу проблем.


Я тоже не вижу проблемы, но не совсем понимаю, что ты делаешь на этапе "ищу производную". Это ты так называешь вызов оптимизатора что-ли? Вроде что бы им пользоваться умения считать производные и даже знать, что это такое не требуется.

m2l>>Опять-же, это выдаёт в тебе теоретика, который с реальными моделями не работал. Потому, что ускорение инференса — это переобучение с меньшим числом слоёв/нейронов/связей и т.д... И по твоей логике для обучения производная понадобиться, а на переобучении и так сойдёт.


N>Переобучение — это и есть обучение. Я в принципе не уловил логику и не понял вопрос. ещё я могу делать пруннинг, квантизацию, да мало ли что — вплоть до ручной реализации и оптимизации сети на целевой платформе.


Вопрос простой — как знание / незнание производных влияет на пруннинг, квантизацию и остальное? Как по мне, так никак.
Re[11]: Почему взлетел Deep Learning?
От: SkyKnight Швейцария https://github.com/dmitrigrigoriev/
Дата: 30.06.22 12:05
Оценка:
Здравствуйте, m2l, Вы писали:

m2l>А чем их знания могут помочь построить при помощи Keras модель, обучить и пользоваться? Мой поинт именно в этом, что производную никто считать не будет. И это знание — что оно есть, что нету не влияет на способность описать и обучить модель. Или не способность.

Естественно вручную никто не считает. Я потому и предлагаю тебе еще раз ознакомиться с тем, как работает обучение нейронной сети, чтобы ты больше таких вопросов не задавал.
Конекретно про back propagation.


m2l>Я это знаю. Но вопрос тот-же: как знание дифисчисления помогает человеку пользоваться библиотекой с готовым набором оптимизаторов? На каком этапе при работе с датасетом, описанием модели или обучением человек должен им воспользоваться, применительно к чему, как это помогает выбрать функцию активации или число нейронов в слое?

Все зависит от задачи. Но сейчас де-факто стандарт функция активации используется ReLU. Но, если ты строишь RNN, то чаще берут tanh.
Вот просто почитай хотя бы про эти функции активации: https://neurohive.io/ru/osnovy-data-science/activation-functions/

m2l>Я не только читаю, но и в живую использую. Поэтому меня и несколько выбивает из колеи, когда люди, которые только читали, начинают выдавать прочитанное за первую истину.

Не заметно, что читаешь, тут больше похоже, что только используешь, потому что задаешь не те вопросы.

m2l>Вот смотри — по твоим собственным словам производные высчитываться только на этапе обучения. Их кто считает, человек или ML библиотека? И если это библиотека, то как именно знание производных поможет обучить модель быстрее/выше/сильней?

Я опять же не понимаю вопроса. Но знание алгоритма, как работает back propagation, особо не поможет в обучении. Тут больше поможет работа с данными, в общем называется Data Engineering, из которого потом идет feature engineering. Чтобы смочь выбрать действительно нужные данные для обучения сети.


Есть простые датасеты, например, было что-то там с yellow cab, в данных было время посадки, время высадки пассажира, сколько километров проехал, место посадки, место высадки и еще всякое.
Так вот даже на таком просто датасете было понятно, что просто время посадки и время высадки не интересные фичи, а интересная была "продолжительность поездки", которую надо было бы вычислить как разницу этих двух времен. Потому что именно расстояние и время больше всего влияли на цену поездки. Причем фичи "выходной", "не выходной" или "утро", "день", "вечер" и "ночь" не играли особой роли, точнее совсем не играли.


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


m2l>Ну и опять же. По моему опыту, когда замены библиотек исчерпывают запас оптимизации, наступает время переобучения модели, у который слишком большой инференс. Какую производную мне посчитать, что-бы переобучить модель, потеряв пару сотых в точности, но ускорив её раза в два?

Повторю вопрос. Что у тебя за модель и что она делает? Я пока не совсем представляю себе как модель может тормозить. У тебя там что, картинки, чат-бот или что-то еще?
github.com/dmitrigrigoriev/
Re[13]: знание / незнание производных
От: Sharov Россия  
Дата: 30.06.22 13:55
Оценка: +1
Здравствуйте, m2l, Вы писали:

N>>Переобучение — это и есть обучение. Я в принципе не уловил логику и не понял вопрос. ещё я могу делать пруннинг, квантизацию, да мало ли что — вплоть до ручной реализации и оптимизации сети на целевой платформе.

m2l>Вопрос простой — как знание / незнание производных влияет на пруннинг, квантизацию и остальное? Как по мне, так никак.

Тут речь скорее про проф. этику, или образование и его глубину -- знание что внутри того или иного черного ящика. Мож будет задача\проект\стартап, где
надо лезть внутрь и что-то руками подкручивать, или вообще с нуля пилить что-то специфичное (стартап же). Как это делать в ml без знания азов -- . С др.
стороны все эти библиотеки пилят люди с соотв. степенями. В любом случае, кмк, знание математики (стат., тервер, линал, дифф. исчисление) на уровне 1-2 курса
приличного тех. вуза для работы в ml крайне необходимо. Чтобы можно было понять хотя бы общее описание работы тех или иных алг-ов и подходов.
Кодом людям нужно помогать!
Re[14]: знание / незнание производных
От: m2l  
Дата: 30.06.22 17:39
Оценка:
Здравствуйте, Sharov, Вы писали:

N>>>Переобучение — это и есть обучение. Я в принципе не уловил логику и не понял вопрос. ещё я могу делать пруннинг, квантизацию, да мало ли что — вплоть до ручной реализации и оптимизации сети на целевой платформе.

m2l>>Вопрос простой — как знание / незнание производных влияет на пруннинг, квантизацию и остальное? Как по мне, так никак.

S>Тут речь скорее про проф. этику, или образование и его глубину -- знание что внутри того или иного черного ящика. Мож будет задача\проект\стартап, где

S>надо лезть внутрь и что-то руками подкручивать, или вообще с нуля пилить что-то специфичное (стартап же). Как это делать в ml без знания азов -- . С др.
S>стороны все эти библиотеки пилят люди с соотв. степенями. В любом случае, кмк, знание математики (стат., тервер, линал, дифф. исчисление) на уровне 1-2 курса
S>приличного тех. вуза для работы в ml крайне необходимо. Чтобы можно было понять хотя бы общее описание работы тех или иных алг-ов и подходов.

У меня впечатление, что даже базовое знание статистики и теории вероятностей не являются обязательным для разработки относительно хорошо работающих моделей. Хотя и звучит несколько абсурдно.
Что же до линейной алгебры и дифференциального исчисления — оно настолько глубоко запрятано, что наличие или отсутствие этого знания сравнимо с наличием или отсутствием знаний о философских течениях античности.
Плюс не будем забывать, что реализация вообще-то на численных методах строиться — никто никакие функции аналитически не дифференцирует. Что несколько нивелирует возможность на практике пользоваться знаниями из этого раздела мат.анализа.
Т.е. я в принципе согласен с тем, что это про профессиональную этику и глубину образования — в том плане, что это эквивалентно знанию философии или литературы.

PS. Всё-же сейчас уровень этой предметной области возрос настолько, что требовать сквозного знания азов — равносильно требованию знать особенностей работы конвейера процессора от программиста на JavaScript. Будем реалистами, мало кто знает, но код как-то при этом пишут и он даже работает.
Re[12]: Почему взлетел Deep Learning?
От: m2l  
Дата: 30.06.22 17:56
Оценка:
Здравствуйте, SkyKnight, Вы писали:

m2l>>А чем их знания могут помочь построить при помощи Keras модель, обучить и пользоваться? Мой поинт именно в этом, что производную никто считать не будет. И это знание — что оно есть, что нету не влияет на способность описать и обучить модель. Или не способность.

SK>Естественно вручную никто не считает. Я потому и предлагаю тебе еще раз ознакомиться с тем, как работает обучение нейронной сети, чтобы ты больше таких вопросов не задавал.
SK>Конекретно про back propagation.

Слушай, вот то у тебя "вручную никто не считает", то:

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

И знание производных для ML — это очень важно....
И я спрашиваю не как рассчитываться веса, а как ты своё знание производных применяешь для обучения модели. Ответить ты ничего не можешь, что намекает, что никак не применяешь.


m2l>>Я это знаю. Но вопрос тот-же: как знание дифисчисления помогает человеку пользоваться библиотекой с готовым набором оптимизаторов? На каком этапе при работе с датасетом, описанием модели или обучением человек должен им воспользоваться, применительно к чему, как это помогает выбрать функцию активации или число нейронов в слое?

SK>Все зависит от задачи. Но сейчас де-факто стандарт функция активации используется ReLU. Но, если ты строишь RNN, то чаще берут tanh.
SK>Вот просто почитай хотя бы про эти функции активации: https://neurohive.io/ru/osnovy-data-science/activation-functions/

Вот. А выше писал, будто их стараться подобрать, "чтобы производную можно было вычислить просто". А тут уже оказывается никто никакие производные для выбора функции активации не считает.

m2l>>Вот смотри — по твоим собственным словам производные высчитываться только на этапе обучения. Их кто считает, человек или ML библиотека? И если это библиотека, то как именно знание производных поможет обучить модель быстрее/выше/сильней?

SK>Я опять же не понимаю вопроса. Но знание алгоритма, как работает back propagation, особо не поможет в обучении. Тут больше поможет работа с данными, в общем называется Data Engineering, из которого потом идет feature engineering. Чтобы смочь выбрать действительно нужные данные для обучения сети.

SK>Есть простые датасеты, например, было что-то там с yellow cab, в данных было время посадки, время высадки пассажира, сколько километров проехал, место посадки, место высадки и еще всякое.

SK>Так вот даже на таком просто датасете было понятно, что просто время посадки и время высадки не интересные фичи, а интересная была "продолжительность поездки", которую надо было бы вычислить как разницу этих двух времен. Потому что именно расстояние и время больше всего влияли на цену поездки. Причем фичи "выходной", "не выходной" или "утро", "день", "вечер" и "ночь" не играли особой роли, точнее совсем не играли.

SK>Вот поэтому просто взять датасет и пытаться его запихнуть в модель ни к чему хорошему не приведет. Ну может, конечно повезти, если кто-то этот датасет сделал полностью правильно, офигенно. Например без всяких outliers, которые могут очень сильно влиять на результаты.


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


m2l>>Ну и опять же. По моему опыту, когда замены библиотек исчерпывают запас оптимизации, наступает время переобучения модели, у который слишком большой инференс. Какую производную мне посчитать, что-бы переобучить модель, потеряв пару сотых в точности, но ускорив её раза в два?

SK>Повторю вопрос. Что у тебя за модель и что она делает? Я пока не совсем представляю себе как модель может тормозить. У тебя там что, картинки, чат-бот или что-то еще?
Конкретно эта — картинки. Насчет тормозить — просто нейронов чуть больше, чем нужно. Сложений/умножений слишком много. Но, заметь, никакого варианта посчитать производные, что бы найти слои, которые можно убрать или снизить размерность, или заменить ядро свертки у тебя нету.
Re[13]: Почему взлетел Deep Learning?
От: SkyKnight Швейцария https://github.com/dmitrigrigoriev/
Дата: 01.07.22 06:57
Оценка:
Здравствуйте, m2l, Вы писали:


m2l>>>Я это знаю. Но вопрос тот-же: как знание дифисчисления помогает человеку пользоваться библиотекой с готовым набором оптимизаторов? На каком этапе при работе с датасетом, описанием модели или обучением человек должен им воспользоваться, применительно к чему, как это помогает выбрать функцию активации или число нейронов в слое?

Еще раз по слогам. Вручную никто не считает, но так как при обучении в алгоритме back propagation идет вычисление производной для того чтобы настроить веса нейронов, необходимо подобрать такую функцию активации, у которой производная высчитывается просто. Я тебе для чего дал список самых популярных функций активации? чтобы ты посмотрел их, посмотрел как выглядят их производные.
Например производную сигмоидальной функции можно выразить через саму функцию, что приводит к тому, что собственно сложные вычисления производить не придется.

m2l>Вот. А выше писал, будто их стараться подобрать, "чтобы производную можно было вычислить просто". А тут уже оказывается никто никакие производные для выбора функции активации не считает.

Вручную нет, ну сколько раз еще говорить?

m2l>Согласен. Такая логика и приводит меня к мысли, что статистика и теория вероятностей важна. А производные и диф.счисление — не очень.

m2l>А меня тут пытаются зачем-то убедить, что именно расчет производных нужен для работы с данными и обучения. Но привести пример как это знание можно применить никто, включая тебя, не может.
Тебе уже сказали, чем проще для алгоритма вычислять производную на этапе обучения и чем стабильнее (численно) эти вычисления будут, тем проще будет обучить модель и модель будет лучше. Или ты думаешь эти функции активации просто от балды понабирали?
Но опять же очень сильно зависит от задачи какую функцию активации выбрать. Если у тебя классификация 2х классов, то тот же tanh будет уже не оптимальным выбором.

m2l>Конкретно эта — картинки. Насчет тормозить — просто нейронов чуть больше, чем нужно. Сложений/умножений слишком много. Но, заметь, никакого варианта посчитать производные, что бы найти слои, которые можно убрать или снизить размерность, или заменить ядро свертки у тебя нету.

У тебя CNN или что? Вообще посмотри уже готовые cnn сети, они очень глубокие, там до хрена параметров и почему-то они не тормозят. Я бы на твоем месте взял уже готовую обученную модель и просто дообучил ее на твоем же датасете, а не обучал бы с нуля.
github.com/dmitrigrigoriev/
Re[15]: знание / незнание производных
От: Sharov Россия  
Дата: 01.07.22 16:22
Оценка:
Здравствуйте, m2l, Вы писали:

S>>Тут речь скорее про проф. этику, или образование и его глубину -- знание что внутри того или иного черного ящика. Мож будет задача\проект\стартап, где

S>>надо лезть внутрь и что-то руками подкручивать, или вообще с нуля пилить что-то специфичное (стартап же). Как это делать в ml без знания азов -- . С др.
S>>стороны все эти библиотеки пилят люди с соотв. степенями. В любом случае, кмк, знание математики (стат., тервер, линал, дифф. исчисление) на уровне 1-2 курса
S>>приличного тех. вуза для работы в ml крайне необходимо. Чтобы можно было понять хотя бы общее описание работы тех или иных алг-ов и подходов.

m2l>У меня впечатление, что даже базовое знание статистики и теории вероятностей не являются обязательным для разработки относительно хорошо работающих моделей. Хотя и звучит несколько абсурдно.

m2l>Что же до линейной алгебры и дифференциального исчисления — оно настолько глубоко запрятано, что наличие или отсутствие этого знания сравнимо с наличием или отсутствием знаний о философских течениях античности.
m2l>Плюс не будем забывать, что реализация вообще-то на численных методах строиться — никто никакие функции аналитически не дифференцирует. Что несколько нивелирует возможность на практике пользоваться знаниями из этого раздела мат.анализа.

Ну не факт, что где-то под капотом не сидит какая-нибудь производная в явном виде, правда в комментариях или доке это было бы отражено.
Далее, без знания производной как понять аналитическую формулу для линейной(или лог) регрессии?
EM много где используется (k-means).
Т.е. минимизации ф-ии потерь это фактически суть машинного обучения, привет производным, хотя бы на уровне формулировки задачи и куда копать.
У нас есть сложные объекты (мн-во наблюдаемых параметров) и мн-во самих наоблюдений -- привет линал.
У нас все эти наблюдения не очень достоверны, т.е. шумны на разных этапах входа или выхода, или вовсе остутсвуют. Привет тервер и статистика.
Тот же EM алгоритм и макс. правдоподобия.

Я за нейронки не скажу, поскольку кроме курсов и поверхостного ознакомления с ними толком не работал, но в табличных данных и классическом ML вся
эта математика в полный рост и практически сразу. На fit\predict далеко не уедешь, для результатов нужно глубже копать и влезать в данные.
Блин, тот же бустинг -- 3-ое комбо.

Короче, хорошое знание математики в мире ML крайне и крайне рекомендуется, если не требуется.

m2l>Т.е. я в принципе согласен с тем, что это про профессиональную этику и глубину образования — в том плане, что это эквивалентно знанию философии или литературы.


Нет, не эквивалентно -- все равно что человек работает автомехаником, специалист по трансмиссия или кузавным работам, а про двигатель кроме того, что он
есть, понятия не имеет. NN и так хрен поймешь как интерпритировать и понять почему так или этак, но вот как они обучаются, весь процесс от и до знать бы надо.

m2l>PS. Всё-же сейчас уровень этой предметной области возрос настолько, что требовать сквозного знания азов — равносильно требованию знать особенностей работы конвейера процессора от программиста на JavaScript. Будем реалистами, мало кто знает, но код как-то при этом пишут и он даже работает.


С одной стороны, а почему бы и нет. С др. стороны, ну поковырять сеть глубже чем http (вместе с ) + работу графической подсистемы компьютера программисту на js не мешало бы.
Надо хотя бы базовые вещи про черные ящики знать, про конвеер знать бы нужно, а про верилог можно и не знать.
Кодом людям нужно помогать!
Re[2]: Почему взлетел Deep Learning?
От: ути-пути Россия  
Дата: 13.11.22 11:56
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Знает на том уровне, что известны принципы и законы. Но конечное решение получается таким сложным, что функция каждого "винтика" не известна. Но должна ли быть известна? Мы в точности не знаем, как устроены растения, но успешно их выращиваем.


По растениям у нас есть огромная статистика, а по ИИ нет. Пока они распознают номера машин — это не страшно, если ошибется, то штраф можно оспорить, а когда речь заходит о решениях, касающихся безопасности, в реальном времени — уже другое дело.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re: Почему взлетел Deep Learning?
От: andyp  
Дата: 20.12.22 20:25
Оценка:
Здравствуйте, Tai, Вы писали:

Tai>... почему взлетел Deep Learning


На самом деле, есть большой список того, где не взлетел. Просто эти области остаются в тени после и в процессе не шибко успешных попыток. Вот уж что успешно и менее хайпово проникает во многие области деятельности, имхо, это всяческие методы итеративной оптимизации как выпуклых (convex), так и nonconvex функционалов.
Re[2]: Почему взлетел Deep Learning?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 20.12.22 20:38
Оценка:
Здравствуйте, andyp, Вы писали:

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


Анализ табличных данных с пропусками нейройнки пока сливают всяким бустингам, в этих областях они пока рулят.
Re[3]: Почему взлетел Deep Learning?
От: andyp  
Дата: 20.12.22 21:07
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Анализ табличных данных с пропусками нейройнки пока сливают всяким бустингам, в этих областях они пока рулят.


Я — очень далек от CS. Интересы — цифровая обработка сигналов и статистика в приложении к системам связи.
Re[2]: Почему взлетел Deep Learning?
От: Tai Гондурас  
Дата: 07.12.24 14:13
Оценка: :)
Здравствуйте, andyp, Вы писали:



Tai>>... почему взлетел Deep Learning


A>На самом деле, есть большой список того, где не взлетел.



давай большой список, где не взлетел (и где реально пытались)
Лучше колымить в Гондурасе, чем гондурасить на Колыме.
Re[2]: Почему взлетел Deep Learning?
От: xma  
Дата: 07.12.24 15:05
Оценка: +1
Здравствуйте, xma, Вы писали:

xma>скоро научат компьютер петь и синтезировать музыку (надеюсь)

Bill Baklushi, чё уже не так смешно ? кто тут папка футуролог ёпте, а.. а ?

(поёт и аккомпанирует нейросеть)
https://www.youtube.com/watch?v=NMFzgUK9H-M

xma>вокал не обязательно, но если научатся одно — то думаю дойдут и до вокала


xma>- и будете слухать мелодии из рая .. (если как в AlphaZero смогут забацать, когда нибудь)

ждём-с .. не знаю будет ли при нашей жизни, но очень надеюсь
Re: Почему взлетел Deep Learning?
От: cppguard  
Дата: 08.12.24 04:42
Оценка:
Здравствуйте, Tai, Вы писали:

Tai>Как думаете, почему взлетел Deep Learning (распознавание картинок, логические игры, беспилотные машины), хотя что там конкретно внутри — никто не знает.


Потому что в классическом ML признаки нужно руками придумывать, а сеть делает это сама. Проблема в том, что сеть не может нам рассказать, что за признаки она придумала. Всё остальное — фантазии и маркетинг.
Re[2]: Почему взлетел Deep Learning?
От: Vzhyk2  
Дата: 08.12.24 07:06
Оценка:
Здравствуйте, cppguard, Вы писали:

C>Потому что в классическом ML признаки нужно руками придумывать, а сеть делает это сама. Проблема в том, что сеть не может нам рассказать, что за признаки она придумала. Всё остальное — фантазии и маркетинг.

Вообще-то почти вся сеть и строит эти признаки. Получается нелинейное преобразование bp R^n -> R^m.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.