Сколько слоев нейронной сети достаточно на практике.

Программирование, Хакинг, Безопасность, Софт, Железо, а также всё связанное с компьютерами
Аватара пользователя
BDK
Сообщения: 3665
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 152 раза
Поблагодарили: 388 раз

Сколько слоев нейронной сети достаточно на практике.

Сообщение BDK »

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

я рассматривал различные варианты организации нейронных сетей. Два самых крайних варианта - это:
1.Однослойная нейронная сеть с очень большим количеством нейронов в слое.
2.Сверхмногослойная нейронная сеть по одному нейрону или по очень небольшому количеству нейронов в каждом слое.

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

Далее я рассматривал различные варианты организации нейронной сети между этими крайними полюсами. И я пришел к интересным выводам:
1.Любую задачу можно сформулировать для решения её любым типом нейронной сети включая её крайние варианты, но не любой тип нейронной сети оптимален и эффективен для решения конкретной задачи.
2.Для большинства практических задач малоэффективны нейронные сети типа крайних полюсов - как правило нужен промежуточный вариант, ближе к тому или другому полюсу но как правило никогда не сходящийся ни к одному из них вплотную.

Таким образом на практике наиболее эффективны и востребованы нейронные сети со средним количеством нейронов в слоях и средним количеством слоев. Эти количества обычно далеки от единиц и не стремятся к бесконечности - это счетные количества. На практике порядка десятков, сотен, тысяч (и того и другого - то есть и нейронов в слоях и самих слоев).
Аватара пользователя
BDK
Сообщения: 3665
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 152 раза
Поблагодарили: 388 раз

Re: Сколько слоев нейронной сети достаточно на практике.

Сообщение BDK »

Еще хочу высказать свои соображения почему нейронную сеть я рассматриваю как последовательную а не параллельную обработку данных. Дело в том что чисто параллельная обработка данных имеет слабые стороны. Далеко не все задачи можно решить только параллельными вычислениями. Поэтому выбирая параллельные вычисления за базу мы тем самым резко ограничиваем себя в возможностях. Мне была нужна наиболее универсальная база. И я увидел что это - конечно же последовательные вычисления. Что касается параллельных вычислений - они тоже имеют место быть но лишь как часть входящая в состав последовательных вычислений. Обычный компьютер тоже сплошь и рядом использует параллельные вычисления в своей работе - это и параллельная работа транзисторов и логических элементов в вычислительных блоках, и параллельная работа блоков в процессоре. Но тем не менее - всё это лишь входит в состав последовательных вычислений но не является основным принципом работы процессора. Вообще говоря можно создать простейший однобитный одноядерный процессор где параллельные вычисления отсутствуют вообще - при этом он не потеряет в функциональности а только в быстродействии. То есть параллельные вычисления не являются необходимыми. А вот без последовательных вычислений процессор сразу потеряет все свои возможности и на нем просто невозможно будет получить сколь нибудь сложные вычисления и решения задач. Так собственно и было во времена аналоговых вычислений - в те временя за отсутствием возможности запоминать промежуточные результаты аналоговых операций невозможно было организовать сколь нибудь длинные цепочки последовательных вычислений - и поэтому в эпоху аналоговых компьютеров просто невозможны были все те вещи которые запросто демонстрирует цифровой компьютер. Именно с появлением цифровых компьютеров с их цифровыми регистрами позволяющими сохранять промежуточные результаты и выполнять над ними длиннющие цепочки последовательных вычислений и была связана компьютерная революция изменившая до неузнаваемости весь мир за последние лет 40.

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

Поэтому мной и были за базу взяты именно последовательные вычисления. И нейронную сеть я в том числе рассматриваю как последовательный вычислитель - имея ввиду последовательность слоев нейронной сети.
=====

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

Короче выводы делайте сами.
Аватара пользователя
BDK
Сообщения: 3665
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 152 раза
Поблагодарили: 388 раз

Re: Сколько слоев нейронной сети достаточно на практике.

Сообщение BDK »

Вообще в моей теории я увязываю в единую концепцию не только процессорные вычисления и нейронные сети но и квантовые вычисления. Но как именно покажу наверное в другой теме - про квантовые вычисления. Но буду подразумевать что эти две темы дополняют друг друга. А разделил я для удобства чтобы не мешать всё в одну кучу.
Аватара пользователя
Странник34
Посвященный
Посвященный
Сообщения: 405
Зарегистрирован: 01 мар 2018, 21:37
Откуда: от туда
Благодарил (а): 5 раз
Поблагодарили: 45 раз

Re: Сколько слоев нейронной сети достаточно на практике.

Сообщение Странник34 »

Есть такой биолог, доктор наук, Савельев.
Он очень скептически относится к искусственному интеллекту на базе компьютеров с нейронными сетями.
Он говорит, говорит, что мозг это 100 млрд. нейронов, каждый из которых связан с тремя тысячами других нейронов и каждый день несколько связей разрушается и образуются несколько новых.
Для того, чтобы сделать что-то подобие человеческого мозга, - Савельев говорит, - для начала необходимо научиться делать микросхемы внутри которых сидит китаец с паяльником. Тут его ролик:

Вынос мозга 16 Савельев С.В. Искусственный интеллект 28 октября 2017

Мы возьмем самое чистое небо...
Аватара пользователя
BDK
Сообщения: 3665
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 152 раза
Поблагодарили: 388 раз

Re: Сколько слоев нейронной сети достаточно на практике.

Сообщение BDK »

Для того, чтобы сделать что-то подобие человеческого мозга, - Савельев говорит, - для начала необходимо научиться делать микросхемы внутри которых сидит китаец с паяльником.
Вы наверное просто не вращаетесь в кругу специальстов по нейронным сетям и поэтому не знаете - когда говорят "нейронные сети" то это самом собой подразумевает алгоритмы обучения - то есть по сути алгоритмы которые строят эти самые нейронные сети. То есть по сути эти алгоритмы и делают то что подразумевается под предложенным вами китайцем с паяльником :)

Разумеется имеется в виду что нейронные сети постоянно пересинтезируются в процессе обучения который в свою очередь постоянен и никакого завершения не имеет. То есть нейронная сеть все время модифицируется по мере накопления опыта и знания. Ни о каких статичных нейронных сетях никто никогда речь не ведет.
Аватара пользователя
Странник34
Посвященный
Посвященный
Сообщения: 405
Зарегистрирован: 01 мар 2018, 21:37
Откуда: от туда
Благодарил (а): 5 раз
Поблагодарили: 45 раз

Re: Сколько слоев нейронной сети достаточно на практике.

Сообщение Странник34 »

BDK писал(а): Вы наверное просто не вращаетесь в кругу специальстов по нейронным сетям и поэтому не знаете - когда говорят "нейронные сети" то это самом собой подразумевает алгоритмы обучения - то есть по сути алгоритмы которые строят эти самые нейронные сети. То есть по сути эти алгоритмы и делают то что подразумевается под предложенным вами китайцем с паяльником :)
Это в общих чертах, без детализации, я знаю и понимаю (за стенкой моего кабинета "Лаборатория искусственного интеллекта", этот ИИ они ясное дело моделируют лишь на программном уровне). Да, сейчас "создавая" ИИ моделлируют лишь мельчайшие кирпичики человеческого мозга (сознания). И до настоящего ИИ очень и очень далеко.
Мы возьмем самое чистое небо...
Аватара пользователя
BDK
Сообщения: 3665
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 152 раза
Поблагодарили: 388 раз

Re: Сколько слоев нейронной сети достаточно на практике.

Сообщение BDK »

ролика осилил минут 10 дальше прогартал выборками. В чем там главная мысль ? в двух словах.
Это в общих чертах, без детализации, я знаю и понимаю (за стенкой моего кабинета "Лаборатория искусственного интеллекта", этот ИИ они ясное дело моделируют лишь на программном уровне). Да, сейчас "создавая" ИИ моделлируют лишь мельчайшие кирпичики человеческого мозга (сознания). И до настоящего ИИ очень и очень далеко.
Как для себя это вижу я. Во первых - я не вижу никакого смысла делать аналог мозга. Можно подсмотреть какие-то решения и взять на вооружение - но делать аналог не вижу никакого смысла. Во вторых само назначение ИИ - я вижу как просто автоматизация. Начиная от простого механического труда и затем переходя к некоторым уровням и интеллектуального тоже - для этого вовсе не нужен некий мифический ИИ равный человеческому. Он никогда не будет ни равным ни вообще похожим. Потому что даже то что уже есть сечас - в чем-то сильно превосходит человеческий в чем-то сильно отстает. И так собственно и будет всегда - это нечто совсем другое - это не аналог нашего мозга и не аналог нашего интеллекта - это машина. Это именно ИСКУССТВЕННЫЙ интеллект. И предназначен он исключительно для автоматизации разного уровня.

Насчет того далеко ли до ИИ. Можно сказать что уже далеко те годы когда ИИ был создан. Первые шахматные программы - это уже были первые примеры ИИ. Еще довольно слабенький - но это уже был ИИ. Он появился еще в 50-х годах прошлого века. То есть речь не идет о том когда будет создан ИИ - он создан давно. Речь идет лишь о том что с тех пор постепенно растет его сила, появляются новые решение которые делают ИИ всё сильней. И вот сегодня он уже обыгрывает человека не только в шахматы но и в ГО. Не знаю годится ли такой ИИ на роль подобия человеку - вряд ли. Но для автоматизации работы разного уровня - в том числе и нескольких уровней интеллектуального труда - его достаточно вполне.
Аватара пользователя
Странник34
Посвященный
Посвященный
Сообщения: 405
Зарегистрирован: 01 мар 2018, 21:37
Откуда: от туда
Благодарил (а): 5 раз
Поблагодарили: 45 раз

Re: Сколько слоев нейронной сети достаточно на практике.

Сообщение Странник34 »

BDK писал(а): В чем там главная мысль ? в двух словах.
В двух словах:
Он очень скептически относится к искусственному интеллекту на базе компьютеров с нейронными сетями.
Он говорит, говорит, что мозг это 100 млрд. нейронов, каждый из которых связан с тремя тысячами других нейронов и каждый день несколько связей разрушается и образуются несколько новых.
Для того, чтобы сделать что-то подобие человеческого мозга, - Савельев говорит, - для начала необходимо научиться делать микросхемы внутри которых сидит китаец с паяльником.
Ролик я повесил, если кому интереснее, там больше не про ИИ а про мозг человека.
Мы возьмем самое чистое небо...
Аватара пользователя
BDK
Сообщения: 3665
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 152 раза
Поблагодарили: 388 раз

Re: Сколько слоев нейронной сети достаточно на практике.

Сообщение BDK »

Ну суть ясна. Об этом я сказал выше.

Что касается 100 млрд. нейронов в человеческом мозгу.

Лично я считаю что на самом деле ИИ может и должен быть компактным. У человека такой большой мозг потому что ему нужно было выживать в природных условиях. Я кроме того подозреваю что там многое распараллелено исключительно для быстродействия а не для того чтобы интеллект был сильным. В машине нет нужды делать подобие мозга потому что нам не требуется обезъяна выживающая в джунглях - нам нужен инструмент выполняющий работу в цивильных условиях. Для этого зачастую достачно очень компактных структур. Сила интеллекта определяется не столько разветвленностью и сложностью структур сколько их УДАЧНОСТЬЮ. Сложность заключается в том чтобы найти такие структуры но сами они могут быть и не сложны. Например знаменитая формула E=m*c^2 - она очень проста. Но понадобился гений чтоб её найти. Точно так же ИИ - это могут быть компактные решения но вопрос в том чтобы такие решения эффективно находить. ИИ должен работать больше на уровне высоких абстракций чтобы находить эффективные компактные решения, а не на уровне быстрого реагирования на гигабайты сигналов рецепторов чтобы убегать от хищника. Для этого не нужен весь мозг а только его лобные доли может быть. И то не целиком а только скопировать с них основную концепцию - работа с абстракциями.
Аватара пользователя
Странник34
Посвященный
Посвященный
Сообщения: 405
Зарегистрирован: 01 мар 2018, 21:37
Откуда: от туда
Благодарил (а): 5 раз
Поблагодарили: 45 раз

Re: Сколько слоев нейронной сети достаточно на практике.

Сообщение Странник34 »

BDK писал(а): ИИ должен работать больше на уровне высоких абстракций чтобы находить эффективные компактные решения, а не на уровне быстрого реагирования на конкретные сигналы рецепторов чтобы убегать от хищника.
Да, согласен с этим.
Тут подумалось, что таких конструкций, которые начали делать и называть ИИ, в человеческом мозгу есть множество, но мозг большой, и в нем сознанию, пленке на поверхности, мозга сложно что-то найти. :)
Мы возьмем самое чистое небо...