深度卷积神经网络在ImageNet竞赛中的突破:AlexNet与创新技术

需积分: 0 2 下载量 79 浏览量 更新于2024-07-01 收藏 990KB PDF 举报
本篇文章主要介绍了AlexNet,一个开创性的深度卷积神经网络(Deep Convolutional Neural Network, DCNN),在ImageNet Large Scale Visual Recognition Challenge (ILSVRC) 2010比赛中的应用和突破。AlexNet由Alex Krizhevsky、Ilya Sutskever和Geoffrey Hinton在多伦多大学共同研发,其目标是提升大规模图像分类的性能。 AlexNet的关键特征在于其结构上的创新,包括五个卷积层(有些后面附加了池化层)和三个全连接层,总共拥有6000万个参数和65万个神经元。这一设计允许网络处理高分辨率的120万张ImageNet图像,这些图像被分配到1000个不同的类别中。值得注意的是,通过使用非饱和神经元和高效GPU进行卷积运算,网络的训练效率得到了显著提升。 文章强调了对过拟合问题的处理,采用了名为dropout的正则化方法来减少全连接层的过度拟合。这种方法在当时显示出了极高的有效性,使得AlexNet在测试数据上的表现达到了惊人的top-1错误率为13.75%,top-5错误率更是低至17.0%,这相对于当时的最佳成绩有了显著的提升。 除了在ImageNet 2010竞赛中的优异表现,团队还利用这种模型参加了2012年的ILSVRC竞赛,并获得了冠军。他们在比赛中取得了top-5错误率为15.3%的成绩,相较于第二名的26.2%,进一步证明了AlexNet的强大性能。 这篇文章探讨了深度学习在计算机视觉领域的突破,特别是AlexNet如何通过大数据、深度结构和有效技术的结合,实现了目标识别能力的巨大飞跃,为后来的深度学习研究和发展奠定了基础。同时,它也揭示了数据集规模、模型复杂性和防止过拟合策略在深度学习项目中的重要性。

uint32 bluetooth_ch9141_read_buff (uint8 *buff, uint32 len) { uint32 data_l = len; fifo_read_buffer(&bluetooth_ch9141_fifo, buff, &data_l, FIFO_READ_AND_CLEAN); return data_l; }uint32 bluetooth_ch9141_send_buff (uint8 *buff, uint32 len) { uint16 time_count = 0; while(len > 30) { time_count = 0; while(BLUETOOTH_CH9141_RTS_PIN && time_count++ < BLUETOOTH_CH9141_TIMEOUT_COUNT) // 如果RTS为低电平,则继续发送数据 delay_ms(1); if(time_count >= BLUETOOTH_CH9141_TIMEOUT_COUNT) return len; // 模块忙,如果允许当前程序使用while等待 则可以使用后面注释的while等待语句替换本if语句 uart_putbuff(BLUETOOTH_CH9141_INDEX, buff, 30); buff += 30; // 地址偏移 len -= 30; // 数量 } time_count = 0; while(BLUETOOTH_CH9141_RTS_PIN && time_count++ < BLUETOOTH_CH9141_TIMEOUT_COUNT) // 如果RTS为低电平,则继续发送数据 delay_ms(1); if(time_count >= BLUETOOTH_CH9141_TIMEOUT_COUNT) return len; // 模块忙,如果允许当前程序使用while等待 则可以使用后面注释的while等待语句替换本if语句 uart_putbuff(BLUETOOTH_CH9141_INDEX, buff, (uint16)len); // 发送最后的数据 return 0; }uint8 bluetooth_ch9141_init (void) { wireless_type = WIRELESS_CH9141; // 本函数使用的波特率为115200 为蓝牙转串口模块的默认波特率 如需其他波特率请使用上位机修改模块参数 fifo_init(&bluetooth_ch9141_fifo, bluetooth_ch9141_buffer, BLUETOOTH_CH9141_BUFFER_SIZE); uart_init(BLUETOOTH_CH9141_INDEX, BLUETOOTH_CH9141_TX_PIN, BLUETOOTH_CH9141_RX_PIN, BLUETOOTH_CH9141_BUAD_RATE, BLUETOOTH_CH9141_TIMER); return 0; }void bluetooth_ch9141_uart_callback (void) { // 读取无线串口的数据 并且置位接收标志 bluetooth_ch9141_data = BLUETOOTH_CH9141_DATA_BUF; fifo_write_buffer(&bluetooth_ch9141_fifo, &bluetooth_ch9141_data, 1); // 存入 FIFO }static fifo_struct bluetooth_ch9141_fifo; static uint8 bluetooth_ch9141_buffer[BLUETOOTH_CH9141_BUFFER_SIZE]; // 数据存放数组 static uint8 bluetooth_ch9141_data;为我设置参数让这些函数可以让HC-05蓝牙工作

2023-07-14 上传
2023-07-10 上传