
深度学习
文章平均质量分 53
奔跑的Yancy
科研方向:机器视觉、深度学习;
项目方向:iOS APP、H5 APP;
展开
-
深度学习基础入门(一):基本概念和术语解读
本文旨在解释一些深度学习中的基本概念,并通过一些实践中的例子帮助理解,可能个人解读有误,还望指正。本文提纲参照参考文献【2】进行,对其简练的内容加以了丰富和扩展,确保零基础的新手也可以有比较清晰的认识。表示学习(representation learning) 表示学习是机器学习中的一项重要任务,又称学习表示。即用何种机器能够理解的表示方法来标表示数据。例如在NLP领...原创 2018-03-21 21:51:20 · 25240 阅读 · 0 评论 -
TensorFlow:利用dropout解决overfitting问题,附程序代码
我们借助sklearn这个module来直观地看一看overfitting(过拟合)问题如何通过dropout来解决。本文适合刚刚接触TensorFlow的新手们,练习使用,附上源码。首先我们导入必要文件和数据:#导入必要文件import tensorflow as tffrom sklearn.datasets import load_digitsfrom sklearn.c...原创 2018-10-10 15:36:42 · 1829 阅读 · 1 评论 -
机器学习:模型的容量
【简明扼要地归纳了机器学习模型的容量的含义与影响,全文共2267字,阅读约15分钟】本文我们来简明扼要地探讨机器学习中模型的容量(capacity)。我会收录于我的专栏《深度学习精髓与细节知识合集》中,由于平时比较忙,此专栏也将陆续(缓慢)地记录研究或实践中一点一滴的灵感。通俗地讲,模型的容量是指它拟合各种函数的能力。比如,模型是3次多项式构成的函数:,其中权重w和偏置b的含义大家应该都很...原创 2019-01-06 21:53:52 · 11446 阅读 · 4 评论 -
深度学习:正则化概念浅析
【本文适合初次接触正则化,想了解正则化是什么玩意儿的读者】【更深层次的正则化知识,我将之后在《深度学习精髓与细节知识合集》专栏中继续补充。】我们在《深度学习精髓与细节知识合集》专栏中的博文《机器学习:模型的容量》中简化地讨论了修改学习算法的方法:通过增加或减少学习算法可选假设空间的函数来增加或减少模型的表示容量。但这只是修改学习算法的冰山一角。正则化是深度学习中的一项非常重要的工作,它的地...原创 2019-01-06 23:42:27 · 1217 阅读 · 0 评论 -
超参数及其优化办法:验证集
一、超参数定义:超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。和一般的参数比如权重、偏置之类的有差别。通常情况下,需要对超参数进行优化,给学习机选择一组最优超参数,以提高学习的性能和效果。有时一个选项被设为学习算法不用学习的超参数,是因为它太难优化了。更多的情况是,该选项必须是超参数,因为它不适合在训练集上学习。这适用于控制模型容量的所有超参数。如果在训练集上学...原创 2019-01-07 09:37:26 · 8537 阅读 · 0 评论 -
人工智能、深度学习+iOS:入门准备材料
ncnn腾讯官方开源项目:https://github.com/Tencent/ncnnncnn的iOS demo:目前还比较少。参考官方讨论:https://github.com/Tencent/ncnn/issues/24基于ncnn的ios人脸识别应用:https://github.com/xuduo35/ncnn-mtcnn-facenet或者在github上搜索关键字,找写d...原创 2019-03-04 20:55:18 · 1052 阅读 · 0 评论 -
Object Detection in 20 Years: A Survey
分享记录一篇不错的综述论文。题目:Object Detection in 20 Years: A Survey作者:Zhengxia Zou (1), Zhenwei Shi (2), Yuhong Guo (3 and 4), Jieping Ye (1 and 4)((1) University of Michigan, (2) Beihang University, (3) Ca...原创 2019-06-29 10:21:29 · 4703 阅读 · 0 评论 -
在mac上用自己的数据训练YOLOv3的准备工作
1 准备数据集1.1利用python爬虫收集图片百度一下,用靠谱的爬虫方法,从网络上快速收集符合你要求的图片。1.2数据增强借助keras,对数据做旋转、平移等操作,以增大样本数量。2 图片预处理2.1 统一尺寸大小(yolo可不用)yolov3有自带的统一大小的步骤。这部分可以不用。其他网络按需选择。import cv2import osfullfilen...原创 2019-09-15 22:57:48 · 3230 阅读 · 1 评论 -
linux服务器上配置Jupyter notebook与登录时密码无效踩坑
配置流程1/生成配置文件 jupyter notebook --generate-config 2/生成秘钥 在终端输入 ipython(别漏了这步),创建一个秘钥 In [1]: from notebook.auth import passwdIn [2]: passwd()Enter password: Verify password: Out[2]: 'sha1:...原创 2019-09-16 12:53:30 · 14052 阅读 · 7 评论 -
SSD和YOLO对小目标检测的思考
所谓的小目标,要看是绝对小目标(像素),和相对小目标(相对原图的长宽来看的)。大目标小目标只跟receptive field(感受野)有关,cnn本身可以检测任何尺度的物体。ssd对小目标检测不太适用,但R-FCN速度和鲁棒存在问题。小目标分为很多种,背景单一还是比较好做的。有一篇小人脸检测用的是 fullyconvolutionalnetwork(FCN) + ResNet ,此篇论文检测小...转载 2019-09-20 11:16:04 · 14087 阅读 · 2 评论 -
笔记:TensorFlow实现机器学习算法的步骤
核心步骤:(1)定义算法公式,也就是神经网络前向运行时的计算;(2)定义loss,选定optimizer,使用优化器优化loss;比如采用cross_entropy来计算loss,优化器用随机梯度下降:cross_entropy = tf.reduce_mean(-tf.reduce_sum(ys * tf.log(prediction), ...原创 2018-10-10 11:10:30 · 2548 阅读 · 0 评论 -
TensorFlow实现Batch Normalization详解和代码实现
为什么我们要进行标准化?具有统一规格的数据更方便神经网络学习到数据的规律。举个非常简单的例子。假设我们的激活函数是f(x)=tanh,输入数据x从-10到10。如下图所示:加上标准化工序后,x被调整到[-1,1],那么with和without标准化工序的数据输入之后,输出响应分布也大不相同:没有normalize的数据,使用 tanh 激活以后, 激活值大部分都分布到了饱和...原创 2018-10-12 14:27:45 · 5990 阅读 · 0 评论 -
深度学习:应用于机器视觉领域的卷积神经网络(CNN)简介
1 背景介绍 深度学习是近几年的热门研究话题。深度学习受到神经学的启示,模拟人脑的认知与表达过程,通过低层信号到高层特征的函数映射,来建立学习数据内部隐含关系的逻辑层次模型。深度学习相比于一般的浅层模型的机器学习方法具有多隐层结构,对大数据具有更好的拟合性。 传统的图像处理仅是单张或为数不多的数字图像的处理,而在今天信息爆炸的时代,对图像的处理更多地涉及到视频(图像流)的分...原创 2018-03-13 21:27:43 · 27590 阅读 · 0 评论 -
深度学习基础入门(二):初始化、调参、优化
一、初始化权值初始化对网络优化至关重要。早年深度神经网络无法有效训练的一个重要原因就是早期人们对初始化不太重视。 如何理解权值的初始化非常重要?对于新手而言,我们可以按照自己的理解,随意取个初始化的方法,比如,假设现在输入层有1000个神经元,隐藏层有1个神经元,输入数据x为一个全为1的1000维向量,采取高斯分布来初始化权重矩阵w,偏置b取0。令w服从均值为0、方差为1的正...原创 2018-03-22 11:44:17 · 997 阅读 · 0 评论 -
傻瓜教程:MacOS系统安装Anaconda+Spyder+TensorFlow
尝试于2018年7月,亲测可行。没有网络上写的那些教程那样复杂了,估计是Anaconda更新得更强大了。下载安装好Anaconda(如何下载?请翻阅我之前的博客:https://blog.youkuaiyun.com/lyxleft/article/details/80933590),直接上手开始用tensorflow!打开anaconda navigator,点选Environment。在Not ins...原创 2018-07-06 22:05:48 · 36546 阅读 · 14 评论 -
TensorFlow:编程模型和重要基本概念
一、有向图TensorFlow的计算流程是可以采用数据流图,或者说有向图来直观地表达的。就如我们常见的神经网络中的神经细胞示意图一样,数据流图可以直观地告诉我们计算的形态。有向图也称计算图,每一个运算操作都作为一个节点(node),节点与节点的连接称为边(edge)。其描绘了数据的计算流程,也可以用来便捷地维护、更新状态。计算图可以映射到不同的硬件或操作平台上。这样统一的架构,Te...原创 2018-08-08 20:18:45 · 2005 阅读 · 0 评论 -
用python遍历训练集 生成标注数据路径列表的list.txt
在深度学习中,我们常常需要生成一个list.txt来存放原始数据和标注后的数据的路径。我的代码如下:主要涉及到循环方法、路径字符串的生成、文件读写等操作,有python基础同学应该一看就能看懂,可以在此代码基础上修改获得自己想要的功能,记得更改成你自己的路径名称哦。#!/usr/bin/env python3# -*- coding: utf-8 -*-"""Created on ...原创 2018-08-30 18:18:18 · 3695 阅读 · 0 评论 -
【论文】ICNet for Real-Time Semantic Segmentation on High-Resolution Images
论文下载地址:https://arxiv.org/abs/1704.08545此文聚焦于建立一种具有相对高准确度的,针对高像素图像的快速语义分割系统。它的重点在于:1,快速。处理速度显著优于传统的全连接的深度神经网络,因此快速。但快速不是无脑快,而是需要符合工程应用实际。如无人车、机器人视觉等行业,对检测时效要求高或需要实时检测的,则可以采取此网络;2,准确度相对较高。由于处理速度加快,稍微牺...原创 2018-08-28 16:03:34 · 692 阅读 · 0 评论 -
利用shell脚本遍历文件、执行字符串指令(labelme标注工具批量解析json)
在进行深度学习时,使用labelme标注工具标注了一系列图像,结果是json格式,每个Json文件需要在标注环境下执行一句shell命令来解析。于是乎想到用shell脚本方法写个循环。首先先用文本建立一个.sh的文件,然后如下:这个脚本的作用就是遍历文件夹里所有.json文件,首先要判断后缀是不是.json,然后读取文件名,命名新的字符串,然后执行一句shell命令$cmd。这句命令行里面...原创 2018-08-30 15:43:18 · 2695 阅读 · 3 评论 -
开启深度学习/TensorFlow的前期准备工作和数学知识
一、安装环境关于如何安装anaconda和python可参考我的另一篇日志《傻瓜教程:MacOS系统安装Anaconda+Spyder+TensorFlow》。我使用macbook仅是用来测试一些流程性问题,实际操作的话不建议使用MAC OS系统,MAC OS系统使用GPU不太方便(虽然网上有许多macbook外接GPU的教程,但总归是很心疼的)。实际跑深度学习工程时,我会放在ubun...原创 2018-09-24 11:12:25 · 3851 阅读 · 0 评论 -
TensorFlow Saver:保存和读取模型参数.ckpt
在使用TensorFlow的过程中,保存模型参数变量是很重要的一个环节,既可以保证训练过程信息不丢失,也可以帮助我们在需要快速恢复或使用一个模型的时候,利用之前保存好的参数之间导入,可以节省大量的训练时间。本文通过最简单的例程教大家如何保存和读取.ckpt文件。一、保存到文件首先是导入必要的东西:import tensorflow as tfimport numpy as np...原创 2018-10-11 11:23:09 · 9502 阅读 · 3 评论 -
YOLO提取浅层特征并作热力图可视化
在detector.c文件中找到以下代码:if(0==strcmp(argv[2], "test")) test_detector(datacfg, cfg, weights, filename, thresh, hier_thresh, outfile, fullscreen); else if(0==strcmp(argv[2], "train")) train_detector...原创 2019-09-20 13:24:14 · 11550 阅读 · 17 评论