Comments 16
Не могли бы Вы поделиться ссылкой на сайт с КДПВ?
0
TensorFlow
На КДПВ я задал слишком большую скорость обучения — Learning Rate, поэтому на графике потерь так скачут значения.
На КДПВ я задал слишком большую скорость обучения — Learning Rate, поэтому на графике потерь так скачут значения.
0
Спасибо! Отлично написано. Хотелось бы увидеть в таком изложении статью об обучении без учителя. =)
0
Интересно, а «мало», это сколько? Каков минимальный размер сети позволяющий распознать спираль?
Это мало, или нет?
Это мало, или нет?
0
Минимальный размер сети зависит от первоначально выбранных признаков. Самая маленькая возможная сеть — однослойный персептрон, который по сути состоит из всего одного нейрона и может разделять классы точек только с помощью прямой линий. Но при этом если Вы выберете признаки так, что изначально нелинейное распределение точек превратится в линейное, то даже персептрон сможет правильно выполнить его разделение. Это называется «спрямление пространства».
Например, на картинке Вы в качестве признаков выбрали квадраты x1 и x2, а также их произведение. Вы преобразовали пространство признаков из x1 и x2 в другое пространство, где признаков у Вас пять. И поэтому даже «маленькие» сети могут разделять его достаточно быстро.
Отвечая на Ваш вопрос: минимальный размер сети, позволяющий распознать спираль или что угодно — один нейрон, но только если Вы предварительно «спрямите» (преобразуете) пространство признаков в линейно разделимое.
Если Вы дадите только исходные признаки, то многослойная НС может сама с помощью скрытых слоёв это сделать, но для этого ей нужно время.
Например, на картинке Вы в качестве признаков выбрали квадраты x1 и x2, а также их произведение. Вы преобразовали пространство признаков из x1 и x2 в другое пространство, где признаков у Вас пять. И поэтому даже «маленькие» сети могут разделять его достаточно быстро.
Отвечая на Ваш вопрос: минимальный размер сети, позволяющий распознать спираль или что угодно — один нейрон, но только если Вы предварительно «спрямите» (преобразуете) пространство признаков в линейно разделимое.
Если Вы дадите только исходные признаки, то многослойная НС может сама с помощью скрытых слоёв это сделать, но для этого ей нужно время.
0
Вообще, известный ученый Джеффри Хинтон советовал выбирать НС с количеством скрытых слоёв в районе 3-5 штук. Но сейчас для распознавания объектов на картинках и в текстовых задачах, насколько мне известно, используются очень глубокие (глубина — количество слоёв) сети, с десятками скрытых слоёв. Каждый последующий слой как бы обобщает результаты предыдущего: первый слой распознаёт черточки, второй из черточек — скругления, третий — нос и глаза, четвертый — лицо. Извините, за набивший оскомину пример.
0
Тут важно понимать контекст «глубины НС». 3-5 скрытых слоя относится скорее к обычным (generic) сетям. В них количество скрытых слоев особо не влияет на качество результата, а вот на скорость обучения очень даже. Плюс с глубокой сетью еще есть такая проблема как исчезающий градиент.
А десятки и даже сотни слоев используются в сверточных. Там другая методология, оптимизаторы и вот это всё.
А десятки и даже сотни слоев используются в сверточных. Там другая методология, оптимизаторы и вот это всё.
0
Простите, но как заголовок «Что с помощью нейронных сетей можете сделать Вы?» соответствует содержанию статьи?
Сразу во втором абзаце вопрос подменён на «И спросил себя: что мне нужно для этого?»
Зашёл за списком новых интересных задач, а наткнулся на одну из «На Хабре есть большое количество статей о нейронных сетях, в которых присутствует картинка нейрона в виде кружочка с входящими стрелочками».
Сразу во втором абзаце вопрос подменён на «И спросил себя: что мне нужно для этого?»
Зашёл за списком новых интересных задач, а наткнулся на одну из «На Хабре есть большое количество статей о нейронных сетях, в которых присутствует картинка нейрона в виде кружочка с входящими стрелочками».
+5
Я честно предупредил, что, возможно, Вы не узнаете из статьи ничего практического. Заголовок несёт следующий смысл: насколько сложные задачи можно решать в домашних условиях. То есть цель статьи была не привести список возможных задач, а подумать о возможном масштабе задач, которые могут быть решены дома.
-6
Я прочитал то, что написали вы, и взамен ещё раз прошу прочитать, что написал я.
Вы завлекли людей обманом (надеюсь неумышленно) — «вот что вы можете решить с помощью НС», и пришёл по заголовку.
А зайдя внутрь статьи, я не нашёл ответа «что можно решить?». Есть только описание, «КАК нужно обучать сеть», и снова абстрактно и безотносительно к какой-то конкретно задачи.
Содержимое статьи не соответствует тому, чем вы завлекли читателей в свою статью, я именно на это обратил внимание.
Я абсолютно не против того, что вы описали, там всё достаточно расплывчато и общо описано, чтобы можно было с чем-то не согласится, но будьте честны к своим читателям, если называете статью о сферах применения НС, то опишите эти новые примеры.
Столько уже было понаписано об областях применения НС, что я прочитав заголовок был очень заинтригован, какая же область применения осталась незамеченой.
// и тут я вспомнил анекдот «как заинтриговать идиота»
Вы завлекли людей обманом (надеюсь неумышленно) — «вот что вы можете решить с помощью НС», и пришёл по заголовку.
А зайдя внутрь статьи, я не нашёл ответа «что можно решить?». Есть только описание, «КАК нужно обучать сеть», и снова абстрактно и безотносительно к какой-то конкретно задачи.
Содержимое статьи не соответствует тому, чем вы завлекли читателей в свою статью, я именно на это обратил внимание.
Я абсолютно не против того, что вы описали, там всё достаточно расплывчато и общо описано, чтобы можно было с чем-то не согласится, но будьте честны к своим читателям, если называете статью о сферах применения НС, то опишите эти новые примеры.
Столько уже было понаписано об областях применения НС, что я прочитав заголовок был очень заинтригован, какая же область применения осталась незамеченой.
// и тут я вспомнил анекдот «как заинтриговать идиота»
+2
На ноутбуке с 4-мя ядрами и 6Гб оперативки у меня получалось натренировать сеть для распознования фотографий с дорожными знаками с точностью 93% на тесте. Процесс обучения занимал около 40 минут. Использовал TensorFlow. Но конечно вместо не очень мощного ноутбука предпочел бы использовать машины с AWS с графическим процессором, но тогда не было к ним доступа.
+1
Sign up to leave a comment.
Articles
Change theme settings
Поверхностные и общие рассуждения о нейронных сетях