Google Developer Days (GDD) – это глобальное мероприятие, на котором демонстрируются новейшие продукты и платформы Google для разработчиков, призванные помочь вам быстро разрабатывать высококачественные приложения, расширять и сохранять активную пользовательскую базу, а также использовать инструменты для получения большего дохода. Конференция разработчиков Google 2018 прошла в Шанхае 20 и 21 сентября. ?Конференция разработчиков Google, 2018 г., самородки
20 сентября 2018 г. Лоуренс Морони (инженер по продвижению технологий Google для разработчиков) и Фу Ичжэнь (инженер-программист Google Brain) выступили с речью «Введение в TensorFlow: введение в технологию машинного обучения». В этой статье будет сделан обзор речи.
Машинное обучение против традиционного программирования
TensorFlow — это программная библиотека с открытым исходным кодом для числовых вычислений с использованием графов потоков данных. Узлы (Nodes) представляют собой математические операции в графе, а линии (ребра) в графе представляют многомерные массивы данных, то есть тензоры, которые связаны между собой между узлами. Его гибкая архитектура позволяет выполнять вычисления на различных платформах, таких как один или несколько процессоров (или графических процессоров) в настольных компьютерах, серверах, мобильных устройствах и т. д. Первоначально TensorFlow был разработан исследователями и инженерами из группы Google Brain (часть Исследовательского института машинного интеллекта Google) для исследований в области машинного обучения и глубоких нейронных сетей, но универсальность системы делает ее широко доступной и для других вычислений.
Лоуренс Морони описывает пережитую им трансформацию:
- Веб-революция С точки зрения программиста, Интернет изменил все. Через Интернет программисты могут писать программы, которые охватывают сотни миллионов пользователей. Это изменение привело к появлению новых бизнес-моделей, таких как Google, Baidu, Taobao и т. д.
- Смартфоны также произвели революцию, как и коммерческий опыт, такой как Didi и Uber.
- Мы стоим перед следующей революцией, революцией машинного обучения.
Сцена приложения обнаружения движения
С помощью датчика скорости телефона мы можем получить текущую скорость пользователя, а затем использовать код для оценки.
- скорость
- 4
- скорость > 12 определяется как езда на велосипеде.
Некоторые простые сцены движения могут быть обнаружены вышеупомянутыми способами, но если сложная сцена движения, например, игра пользователя в гольф, не может быть обнаружена, машинное обучение может помочь нам решить эту проблему.
машинное обучениеПрограммисты должны предоставлять ответы и данные, маркировать ответы, и при сотрудничестве с данными машина будет разрабатывать свои собственные правила.
Машинное обучение должно имитировать людей, получать правила с помощью большого количества данных и меток и решать проблемы. Заставить машины учиться, как люди, — это первый шаг в машинном обучении.
Практика Кодекса (преподает Фу И Аллах)
отношения между числами
from tensorflow import keras
import numpy as np
model = keras.Sequential([keras.layers.Dense(units = 1, input_shape = [1])])
model.compile(optimizer = 'sgd', loss = 'mean_squared_error')
xs = np.array([-1.0, 0.0, 1.0, 2.0, 3.0, 4.0], dtype = float)
ys = np.array([-3.0, -1.0, 1.0, 3.0, 5.0, 7.0], dtype = float)
model.fit(xs, ys, epochs = 500)
print(model.predict([10.0]))
Результат выглядит следующим образом:
Определите различную одежду
Fashion-MNIST — это набор данных изображений, который заменяет набор рукописных цифр MNIST. Он предоставляется исследовательским подразделением Zalando, немецкой компании, занимающейся технологиями моды. Он охватывает в общей сложности 70 000 различных изображений лицевой стороны продукта из 10 категорий. Размер, формат и разделение обучения/тестирования Fashion-MNIST точно такие же, как и у оригинального MNIST. Разделение обучающих и тестовых данных 60000/10000, изображения в градациях серого 28x28.
пройти черезFashion-MNISTНабор данных, нашу модель можно обучать и постоянно оптимизировать, тем самым повышая точность распознавания.
import tensorflow as tf
from tensorflow import keras
import numpy as np
# Import the Data
fashion_mnist = keras.datasets.fashion_mnist
(train_images, train_labels), (test_images, teat_labels) = fashion_mnist.load_data()
# Normalize the data
train_images = train_images / 255.0
test_images = test_images / 255.0
#Define the model
model = keras.Sequential([
keras.layers.Flatten(inport_shape = (28,28)),
keras.layers.Dense(128, activation = tf.nn.relu),
keras.layers.Dense(10, activation = tf.nn.softmax),
])
model.compile(oprimizer = tf.train.AdadeltaOptimizer(),loss = 'sparse_categorical_crossentropy',metrics=['accuracy'])
#Train the model
model.fit(train_images, train_labels, epochs = 5, verbose = 2)
predictions = model.predict(test_images)
print(test_images[4560])
print(np.argmax(predictions[4560]))
Результаты приведены ниже:
При установке 5 итераций вероятность успеха этой модели составляет 71%. Нейронные сети можно больше обучать, тем самым повышая их точность.
Выше приведено все содержание этого выступления, надеюсь, оно будет вам полезно.
Узнайте больше о технических материалах Google Developers Conference 2018