Нихиль Будума - Основы глубокого обучения

Здесь есть возможность читать онлайн «Нихиль Будума - Основы глубокого обучения» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2020, ISBN: 2020, Издательство: Манн, Иванов и Фербер, Жанр: economics, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Основы глубокого обучения: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Основы глубокого обучения»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

Основы глубокого обучения — читать онлайн ознакомительный отрывок

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

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Установка TensorFlow

Установка TensorFlow в вашей локальной среде разработки не представляет особой проблемы, если вы не планируете вносить изменения в исходный код TensorFlow. Воспользуйтесь менеджером установки на Python под названием Pip. Если он еще не установлен на вашем компьютере, используйте следующие команды ввода:

# Ubuntu/Linux 64-bit

$ sudo apt-get install python-pip python-dev

# Mac OS X

$ sudo easy_install pip

Установив Pip (версия 8.1 или новее), примените следующие команды для установки TensorFlow. Отметим разницу в именовании пакетов Pip, если мы хотим загрузить версию TensorFlow для графических процессоров (настоятельно советуем так и поступить):

$ pip install — upgrade tensorflow # for Python 2.7

$ pip3 install — upgrade tensorflow # for Python 3.n

$ pip install — upgrade tensorflow-gpu # for Python 2.7

# and GPU

$ pip3 install — upgrade tensorflow-gpu # for Python 3.n

# and GPU

Дополненные обновленные инструкции и подробности по поводу установки приложения можно найти на сайте TensorFlow [20].

Создание переменных TensorFlow и работа с ними

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

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

• Можно использовать градиентные методы модификации переменных после каждой итерации, ведь мы ищем оптимальные параметры модели.

• Значения, хранимые в переменных, можно скопировать на диск и восстанавливать для дальнейшего использования.

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

Создание переменных — процесс несложный, и в TensorFlow можно инициализировать их несколькими способами. Начнем с переменной, которая описывает веса, соединяющие нейроны двух слоев сети с прямым распространением сигнала:

weights = tf.Variable(tf.random_normal([300, 200], stddev=0.5), name="weights")

Здесь мы сообщаем tf.Variable два аргумента [21]. Первый — tf.random_normal — операция, которая создает тензор, инициализированный при помощи нормального распределения со стандартным отклонением 0,5 [22]. Мы указали размер тензора — 300×200, подразумевая, что веса соединяют слой из 300 нейронов со слоем из 200 нейронов. Мы задали имя обращения к tf.Variable. Это уникальный идентификатор, который позволяет обращаться к соответствующему узлу в графе вычислений. В этом случае веса считаются обучаемыми; мы будем автоматически вычислять градиенты и применять их к весам. Если они не должны быть обучаемыми, мы можем установить дополнительный флаг при обращении к tf.Variable:

weights = tf.Variable(tf.random_normal([300, 200], stddev=0.5), name="weights", trainable=False)

Помимо tf.random_normal, есть еще несколько методов инициализации переменной TensorFlow:

# Common tensors from the TensorFlow API docs

tf.zeros(shape, dtype=tf.float32, name=None)

tf.ones(shape, dtype=tf.float32, name=None)

tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)

tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None name=None)

tf.random_uniform(shape, minval=0, maxval=None, dtype=tf.float32, seed=None, name=None)

При обращении к tf.Variable к графу вычислений добавляются три операции:

• операция, создающая тензор для инициализации переменной;

• операция tf.assign, которая наполняет переменную инициализирующим тензором до ее использования;

• операция переменной, которая содержит ее текущее значение.

Визуализация приведена на рис. 3.1.

Рис. 3.1. Три операции добавляются при реализации переменной TensorFlow. Здесь мы инициализируем переменные веса при помощи нормального распределения

Как мы уже говорили, прежде чем использовать переменную TensorFlow, нужно запустить операцию tf.assign [23], чтобы переменной было присвоено желаемое начальное значение. Для этого можно запустить tf.initialize_all_variables() [24], что приведет к выполнению всех операций tf.assign в нашем графе. Мы можем также выборочно инициализировать некоторые переменные графа вычислений командой tf.initialize_variables(var1, var2, …) [25]. Подробнее обо всем этом мы поговорим при обсуждении сессий TensorFlow.

Операции в TensorFlow

Мы уже упомянули о некоторых операциях в контексте инициализации переменных, но в TensorFlow доступны и многие другие. Они выражают абстрактные трансформации, которые применяются к тензорам в графе вычислений. Операции могут иметь атрибуты, которые либо заданы изначально, либо вводятся в процессе работы. Например, атрибут может описывать ожидаемые типы входных данных (добавление тензоров типа float32 или int32). Операциям, как и переменным, может присваиваться имя для простоты обращения на графе вычислений. Они состоят из одного или более ядер, которые содержат специфичные для устройств реализации.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Основы глубокого обучения»

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


Светлана Маркова - Основы быстрого обучения
Светлана Маркова
Отзывы о книге «Основы глубокого обучения»

Обсуждение, отзывы о книге «Основы глубокого обучения» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x