Источник контента:24 июня 2017 г. Дэн Цзюнь, фронтенд-архитектор Mayden Technology, выступил с речью «Путь инженера-разработчика к машинному обучению» на «Tencent Web Front-end Conference TFC 2017». IT big coffee сообщил, что как эксклюзивный видео-партнер, он был выпущен с разрешения организатора и спикера.
Количество слов для чтения:1980 | 4 минуты чтения
Резюме
Дэн Цзюнь, фронтенд-инженер в Meiden Technology, поделился своим опытом машинного обучения.
Передняя часть будущего
Множественный ввод. Существующий ввод от самой ранней клавиатуры и мыши до настоящего сенсорного экрана, будущее может быть голосом и жестами.
Другой аспект заключается в том, что он варьируется от человека к человеку. Я думаю, что через много лет каждый пользователь может по-разному воспринимать взаимодействие с одним и тем же продуктом. Перед лицом искусственного интеллекта то, что мы должны делать, уже не является продуктом, возможно, мы создадим новый продукт для каждого пользователя и преобразуем его опыт таким образом, который будет наиболее подходящим для этого пользователя.
и богатые информационные уровни. Информация должна иметь иерархическое выражение и должна следовать за вниманием людей и некоторыми подробными действиями для активного отображения некоторой информации, в то время как другая информация более скрыта, как часть всего приложения, которая пока не затрагивалась. Но когда вам это нужно, он может прыгнуть прямо перед вами.
Тогда есть VR и AR. Благодаря неоднократному продвижению в последние годы эти две технологии начали приносить плоды. Но когда эти две технологии смогут разрушить интерфейс пользователя, пока неизвестно.
Машинное обучение за 5 минут
Прорыв искусственного интеллекта в последние годы огромен, что в основном отражается в нескольких аспектах. Первое — это аппаратный прорыв, второе — алгоритмический прорыв, а третье — хранение больших данных. Эти три вещи снова и снова способствовали взрыву в области машинного обучения.
что такое машинное обучение
Машинное обучение дает компьютерам возможность «обучаться самостоятельно без специального программирования», обучая их решать конкретные простые задачи.
Традиционное программирование и машинное обучение
Традиционное программирование начинается с того, что люди обнаруживают требования, а затем люди преобразуют требования в абстрактный проект. Для ее реализации должны быть различные программы на стороне клиента и огромные библиотеки на стороне сервера, на этой основе будет производиться соответствующая разработка, и каждая подзадача будет постепенно декомпозироваться и решаться. Наконец, для выполнения теста требуется человек или машина. Единственный шаг, который действительно передается машине, — это операция, а остальные шаги необходимо выполнять вручную.
В методе машинного обучения предполагается, что необходимо решить конкретную проблему, и первым шагом является понимание спроса.Предвидится, что однажды в будущем машина сможет обнаружить человеческий спрос и тогда машина найдет закон спроса. Машина автоматически находит взаимосвязь между этими вещами посредством большого количества данных и экспериментов, и этот процесс происходит совершенно без участия человека. Мы просто устанавливаем сетевую структуру и целевую функцию, а другой мыслительный процесс выполняет машина, и машина проверяет свой путь постфактум. Поскольку машинам нужно потреблять много данных, людям необходимо их подготавливать. Наконец, машина завершает выполнение, и человек помогает машине выполнять тестирование и исправление ошибок.
поверхностное обучение
Как показано на рисунке выше, область справа — это наша проблема, в желтой области много точек, которые представляют собой собранные нами данные, а цвет фона — это найденное нами решение. На этой картинке показано решение проблемы, найденное с помощью поверхностного обучения. Однако огромным недостатком поверхностного обучения является то, что функции необходимо заранее извлекать и обрабатывать вручную.
глубокое обучение
Глубокое обучение структурно отличается от поверхностного обучения, и мы вводим множество скрытых слоев. Как показано на рисунке, после одного умножения, одного сложения и одного крайнего значения результат наконец выводится. Глубокое обучение — это такая формула.
данные имеют значение
Самым большим изменением в оборудовании является более широкое использование графических процессоров. Функции и формулы глубокого обучения искусственного интеллекта включают большое количество операций с плавающей запятой. После того, как эти функции появились на GPU, большое количество операций с плавающей запятой было передано GPU. На самом деле глубокое обучение может быть в 30-50 раз эффективнее на GPU, чем на CPU. Графические процессоры также внесли огромный вклад в машинное обучение.
наша попытка
Путешествие в тысячу миль начинается с одного шага, и наша первая цель — узнать, какой размер шрифта нравится пользователям, а это очень простая и полезная вещь. Пользователи разного возраста предпочитают шрифты разного размера, пожилые люди предпочитают более крупные шрифты, а молодые люди или те, кто пользуется компьютерными мониторами, склонны использовать более мелкие шрифты. Это предсказание, которое машинное обучение очень хорошо решает.
Как это сделать
Первый шаг — сбор данных. В первую очередь должно быть много данных, какие шрифты нравятся пользователю. Второй шаг — обучение: ранее собранные данные обучаются методом машинного обучения, чтобы сеть имела возможность определять размер шрифта, который нравится пользователю, исходя из характеристик нового пользователя. Существует также служба, которая, наконец, используется в приложении и открыта для внешнего интерфейса, так что внешняя программа может получать информацию о пользователе. Затем происходит фактическое применение этих вещей к внешнему интерфейсу.
Общие функции и сетевые структуры
Для сервисов прогнозирования мы обычно используем softmax.Чтобы определить, к какой категории относится пользователь, используйте softmax для прогнозирования.
Когда мы заранее не знаем, сколько существует категорий, мы можем использовать метод k-средних, чтобы позволить машинному обучению сообщить нам, какова ситуация, указать количество категорий, а затем машинное обучение автоматически поможет нам завершить классификацию.
t-SNE — хороший способ уменьшить размерность. Одним из замечательных эффектов уменьшения размерности является визуализация данных, и мы можем интуитивно увидеть распределение этих данных. Другая роль — команда найти ближайшую точку.
CNN используется для обработки машинного зрения, а RNN и LTSM — для потоковой обработки.
DeepQ Learning — это горячая точка машинного обучения в последние годы.Когда у машины есть несколько вариантов, она попытается позволить машине предсказать, какой выбор является лучшим, а затем посмотреть, совпадает ли выбор с тем, что предсказывала машина. Это означает, что когда мы хотим решить такую задачу, нет необходимости заранее готовить тестовые данные, алгоритм может обучаться сам.
какая-то странная оптимизация
Предобученные и комбинированные сети. Предварительное обучение является очень важной частью машинного обучения.Когда проблема, которую вам нужно решить, несколько сложна, вы можете предварительно обучить часть сети, что может значительно повысить скорость обучения сети.
Кроме того, есть корректировки на основе правил и упрощения сети, а также крайняя предвзятость и рациональные арбитры.
реальный бизнес
На самом деле, далее мы собираемся изучить некоторые другие вещи, такие как семантический поиск, рекомендации по функциям, интеллектуальные рекомендации, предотвращение оттока и каталитическое преобразование, а также автоматическое тестирование совместимости.
Стоит отметить, что Google выпустил deeplearn.js, который официально открыл прелюдию к индустриализации машинного обучения во фронтенде.
На сегодня это все, всем спасибо!