Что такое вес и уклон в глубоком обучении?


16

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

Есть несколько запутанных вещей, с которыми я столкнулся, 2 из них:

  1. предвзятость
  2. Вес

В учебном пособии MNIST на веб-сайте tenorflow они упомянули, что нам нужно смещение и вес, чтобы найти доказательства существования определенного шаблона в изображении. Что я не понимаю, так это где и как определяются значения смещения и веса?

Нужно ли указывать эти значения или библиотека TensorFlow рассчитывает эти значения автоматически на основе набора обучающих данных?

Также, если бы вы могли дать несколько советов о том, как ускорить мой темп глубокого обучения, это было бы здорово!

Tensorflow Учебник для начинающих


3
В качестве параметров одного статистической модели , они узнали или оцениваются путем минимизации функции потерь , которая зависит от ваших данных. И это то, что машинное обучение это все. Вы будете задавать много вопросов, если будете следовать этому педогогическому методу. Я предлагаю взять MOOC, такой как на Coursera, чтобы вы могли изучать вещи в разумном порядке.
Эмре

Это очень просто, поэтому вы должны пройти курс, подобный предложенному @Emre.
SmallChess

Ответы:


11

Математически говоря. Представьте, что вы модель (нет, не такая, фигура 8)

Предвзятость - это то, насколько вы предвзяты. Теперь вы нигериец, и вас спрашивают: «У какой национальности самые красивые женщины?» - говорите вы, нигерийцы, мы можем сказать, что это потому, что вы предвзяты. так что ваша формула .Yзнак равноWИкс+NяграммеряaN

Так что ты понимаешь? Предвзятым является то предположение в модели, как у вас.

Что касается веса, логически говоря, вес это ваш градиент (в линейной алгебре),

Что такое градиент? Крутизна линейной функции.

Что делает линейный градиент очень крутым (высокое положительное значение)?

Это потому, что небольшие изменения в X (вход) вызывают большие различия в оси Y (выход). Таким образом, вы (уже не как модель, а блестящий математик (ваше альтер эго)) или ваш компьютер пытается найти этот градиент, который вы можете назвать весомым. Разница в том, что вы используете карандаш и графическую книгу, чтобы найти это, но черный ящик выполняет свою электронную магию с регистрами.

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

Почему вы пытаетесь нарисовать много прямых линий?

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

Как я или Компьютер узнаем, какая линия подходит?

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

Здорово! так и что происходит

Градиент этой линии рассчитывается, скажем, вес задачи обучения рассчитывается

Это машинное обучение в его базовом понимании и графическое построение ученика старшей школы в своем учебнике.


10

Я согласен с комментариями по вашему вопросу о том, что вы должны изучить курс, возможно, «Машинное обучение Эндрю Нг на Coursera» , который является высоко оцененным бесплатным вводным курсом. Это основной вопрос об основах машинного обучения. Таким образом, в этом ответе я не рассматриваю математику, вы можете получить ее из разных мест, включая этот курс.

где и как определяются значения смещения и веса?

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

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

Нужно ли указывать эти значения или библиотека TensorFlow рассчитывает эти значения автоматически на основе набора обучающих данных?

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

Конкретный код, который обрабатывает изменения весов и смещений из учебника, таков:

train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)

и это:

sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})

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

YИкс


8

Вес - вес - это сила соединения. Если я увеличу вход, то как сильно это повлияет на выход.

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

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

Низкий уклон : предлагает больше предположений о форме целевой функции.

High-Bia s: предлагает меньше предположений о форме целевой функции.


2
ОП спрашивал о параметре смещения в нейронной сети. Ваши определения предвзятости в порядке, но не отвечайте на вопрос.
Нил Слейтер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.