前言

在数据集上训练神经网络时,主要有两个目标:

  • 定义符合数据集特性的神经网络架构。
  • 在许多试验中对一组超参数进行调优,从而使得模型具有较高的准确率并且能够泛化至训练集和测试集之外的数据。

针对不同的数据集和问题,往往需要进行几十至上百次的实验,花费几百到上千小时的计算时间,才能找到神经网络架构和超参数之间的平衡。

期间需要专业的深度学习人员全程参与,因此实现一个可用的深度学习模型,对于非专业人员难度很大。

1 - Google AutoML简介

HomePage: https://cloud.google.com/automl/

  • 基于Google最新的图像识别技术神经架构搜索( Neural Architecture Search ,NAS)的一套机器学习工具。
  • NAS会根据特定数据集搜索最佳神经网络架构,以在该数据集上执行特定任务,本质上来说,NAS就是用一套能够自动对模型进行调优的算法。
  • 利用AutoML可以轻松训练高性能深度网络,而无需用户掌握深度学习或AI知识,所需要的只是处理和组织数据(标记数据)。
  • 也就是说,使用AutoML的程序员或工程师无需定义其神经网络架构或对超参数调优,AutoML会自动完成这些工作。
  • 但AutoML是收费的,价格昂贵。

在Google AutoML框架下,将如下的算法迭代:

  • 在一个训练集上训练一个网络
  • 在一个测试集上评估上一步训练出的网络
  • 修正神经网络架构
  • 对超参数调优
  • 重复以上过程

2 - AutoKeras

  • 可以认为是Google AutoML的开源替代方案, 是用于自动化机器学习的开源软件库,提供自动搜索深度学习模型的架构和超参数的功能。
  • 基于非常易用的深度学习数据库 Keras,使用NAS的最新版本ENAS(Efficient Neural Architecture Search),因此具有高效、安装简单、参数可调、案例丰富、易于修改等特点。
  • 使用Auto-Keras实现自动化深度学习,自动训练模型,几乎不需要干预,但通常是一个非常耗时的过程。
  • 不仅能帮助开发人员快速准确地创建模型,而且允许研究人员深入研究架构搜索。

AutoKeras官网信息

3 - AutoKeras安装与示例

安装

通过pip install autokeras快速安装,然后就可以在准备好在的数据集上做自己专属的架构搜索。

注意:

示例 - MNIST

from keras.datasets import mnist
from autokeras.image.image_supervised import ImageClassifier if __name__ == '__main__':
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train = x_train.reshape(x_train.shape + (1,))
x_test = x_test.reshape(x_test.shape + (1,)) clf = ImageClassifier(verbose=True)
clf.fit(x_train, y_train, time_limit=12 * 60 * 60)
clf.final_fit(x_train, y_train, x_test, y_test, retrain=True)
y = clf.evaluate(x_test, y_test)
print(y)

4 - 其他

一个合格的深度学习工程师,需要根据需求使用恰当的工具,这样可以事半功倍。

类似Google AutoML和Auto-Keras等自动机器学习技术和框架,实际上只是作为工具充实了工具箱,不应该也不能过度依赖。

更重要的是相关领域的专业知识,对于提高模型准确率非常关键。

AI - AutoKeras - 简介的更多相关文章

  1. MMORPG战斗系统随笔(三)、AI系统简介

    在设计一款游戏的时候,如果我们是玩家,是希望自己能够操作角色畅玩游戏的.在一款MMORPG游戏中,大部分的实际游戏角色,是需要玩家来操作的,通过在游戏大世界相互完成游戏中的任务等等来体验游戏.在大世界 ...

  2. 【第5篇】AI语音简介

    1.3  AI语音简介 AI语音既人工智能语音技术,以语音识别技术为开端,实现人机语言的通信,包括语音识别技术(ASR).自然语言处理技术(NLP)和语音合成技术(TTS).通俗点说就是通过语音这个媒 ...

  3. 游戏人工智能 读书笔记 (四) AI算法简介——Ad-Hoc 行为编程

    本文内容包含以下章节: Chapter 2 AI Methods Chapter 2.1 General Notes 本书英文版: Artificial Intelligence and Games ...

  4. Open AI Gym简介

    介绍 OpenAI Gym是一款用于研发和比较强化学习算法的工具包,它支持训练智能体(agent)做任何事——从行走到玩Pong或围棋之类的游戏都在范围中. OpenAI Gym 是一个用于开发和比较 ...

  5. 普通程序员如何转向AI方向

    眼下,人工智能已经成为越来越火的一个方向.普通程序员,如何转向人工智能方向,是知乎上的一个问题.本文是我对此问题的一个回答的归档版.相比原回答有所内容增加. 一. 目的 本文的目的是给出一个简单的,平 ...

  6. AI方向

    普通程序员如何转向AI方向   眼下,人工智能已经成为越来越火的一个方向.普通程序员,如何转向人工智能方向,是知乎上的一个问题.本文是我对此问题的一个回答的归档版.相比原回答有所内容增加. 一. 目的 ...

  7. 普通程序员如何转向AI方向(转)

    普通程序员如何转向AI方向   眼下,人工智能已经成为越来越火的一个方向.普通程序员,如何转向人工智能方向,是知乎上的一个问题.本文是我对此问题的一个回答的归档版.相比原回答有所内容增加. 一. 目的 ...

  8. 分享 - 普通程序员如何转向AI方向

    原作者:计算机的潜意识 原文链接,内容稍有改动,侵删 1. 目的2. AI领域简介3. 学习方法4. 学习路线 0) 领域了解1) 知识准备2) 机器学习3) 实践做项目4) 深度学习5) 继续机器学 ...

  9. 【转帖】普通程序员如何转向AI方向

    普通程序员如何转向AI方向 https://www.cnblogs.com/subconscious/p/6240151.html 眼下,人工智能已经成为越来越火的一个方向.普通程序员,如何转向人工智 ...

随机推荐

  1. php实现大文件上传分片上传断点续传

    前段时间做视频上传业务,通过网页上传视频到服务器. 视频大小 小则几十M,大则 1G+,以一般的HTTP请求发送数据的方式的话,会遇到的问题:1,文件过大,超出服务端的请求大小限制:2,请求时间过长, ...

  2. mysql 函数表

    Name Description ABS() Return the absolute value ACOS() Return the arc cosine ADDDATE() Add time val ...

  3. Problem 8 dp

    $des$ $sol$ 记 $f_i$ 表示考虑前 $i$ 个建筑, 并且第 $i$ 个建筑的高度不变的答案, 每次转移时枚举上一个不变的建筑编号, 中间的一段一定变成相同的高度, 并且高度小于等于两 ...

  4. 数据结构实验之查找六:顺序查找(SDUT 3378)

    (不知道为啥开个数组就 TLE .QAQ) #include <stdio.h> #include <stdlib.h> #include <string.h> / ...

  5. Navicat premium查看数据库表中文注释的两种方式

    有时候我需要查看数据库表中文注释,来确定每个表存的是哪个模块的数据,确保测试时对数据库查询操作无误. 这个操作我忘记了,此处做一个记录 方式一:通过sql语句来,前提是你知道是哪个表,这种方式不容易改 ...

  6. Java与设计模式之单例模式(上)六种实现方式

           阎宏博士在<JAVA与模式>中是这样描述单例模式的:作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例.这个类称为单例类.      ...

  7. 域渗透复盘(安洵CTF线下)

    复盘线下域渗透环境Write Up 0x01 外网web到DMZ进域 外网web入口 joomla应用   192.168.0.5 反序列化打下来 GET /index.php HTTP/1.1 Ho ...

  8. Tkinter 之PanedWindow标签

    一.参数说明 参数 作用 background(bg) 设置背景颜色 borderwidth(bd) 设置边框宽度 cursor  指定当鼠标在PanedWindow上飘过的时候的鼠标样式 handl ...

  9. 【洛谷】P4167 [Violet]樱花

    题面 又懒得弄题面,开个传送门吧 分析 人生第一次切数学题,我们先把方程写出来 $$\frac {1}{x}+\frac {1}{y}=\frac {1}{n!}$$ 现在我们知道的条件是x,y都是正 ...

  10. EasyTrader踩坑之旅总结

    ​ easytrader是用python写的可以调用主要券商完成自动化炒股的一个软件 ,但我用的是同花顺,在研究过程中,发现同花顺暂时调不通.后来搜索发现thstrade的源码作者说是easytrad ...