人工智能交互挑战 记录 DAY 1
讲师:@张捷嘉(JJ ZHANG)
助教:@哈哈懂
教务:@华石林
学生:周子睿
1. 人工智能导论
● 人工智能的基本概念和历史发展
弱人工智能(Weak AI)指的是专注于解决特定任务的人工智能系统。这类系统通常在某一特定领域表现出色,但缺乏广泛的认知能力。许多目前的人工智能应用,如语音识别、图像识别等,都属于弱人工智能。
强人工智能(Strong AI)是指具有类似于人类的广泛认知能力的人工智能系统。这类系统能够在多个领域和任务中表现出类人智能,甚至超越人类。目前,强人工智能仍然是研究的目标,尚未实现。
● 机器学习与深度学习的了解
是人工智能的一个子领域,使得计算机你能够在数据中学习,并在没有明确的编程指令情况下,做出决策,机器学习算法可以分为监督学习,无监督学习和强化学习等类型
深度学习是一种基于人工神经网的机器学习方法,它使得计算器可以处理大量的数据,图像,语音。他的学习模型,通常由很多多层的神经元组成。
● 自然语言处理的应用场景
1. 机器翻译
2. 情感分析
3. 文本摘要
4. 语音识别
5. 语义搜索
6. 文本分类
7. 命名实体识别
2. 研讨案例分析
● AlphaGo、自动驾驶技术和ChatGPT案例
微软
长期以来,微软一直是ChatGPT的坚定支持者,也是其背后公司OpenAI的主要投资方。为ChatGPT聊天机器人提供支持的GPT-3和GPT-4大语言模型,如今也在驱动微软的Bing搜索引擎,允许用户通过对话界面、面非传统网络链接列表来搜索和查看结果。微软还打算将这项技术集成到Word和Excel等家喻户晓的软件服务当中。最后,微软还采用Codex(由GPT-3微调而来)以创建计算机代码,通过GitHub Copilot为开发人员提供编码自动补全建议。
● 各案例中应用的AI技术(如语音助手)
办公软件:AI帮做PPT、制表格
3. 人工智能体验
● 图像识别和语音识别的实际应用和背后技术
图像识别是利用计算机视觉技术来识别和分类图像中的物体,背后的技术包含着卷积神经网络和CNN,是通过逐层提取图像中的特征,从而准确的分类和识别
使计算机可以识别语音,并把语音转换为文本,通常涉及声学的模型,语言的模型和解码算法,深度神经网络和DNN和循环神经网络RNN,是语音识别中的关键技术。
● AI 实验室中的数据处理示例分析
4. 编辑器介绍与开发环境搭建
● 常用编程编辑器(VS Code, PyCharm)的优缺点
为PyThon开发设计的一个集成开发环境(IDE),提供丰富的代码分析,调试。集成工具优点:功能全面,可以自动补全;缺点:占用系统资源多,重量级。
轻量级的编辑器,支持多重编程语言和插件扩展。优点:界面简洁,速度快,可高度定制。
● 树莓派环境的搭建过程与其应用场景
下载树莓派系统
烧写软件
插入网线 连接局域网
插入储存卡
5. 编写首个程序脚本
● 编写“Hello World”程序
● print('hello world')
●
● 变量与数据类型
变量
可变的量
变量名+赋值符号=变量值
# 整型 int integer
a=1 #<class'int'>
b="2" #<class'int'>
# 字符串 str string
c='R1ayx_o'
c='HAHA'
c="我是一个大段落"
c="我也是一个大段落"
print(a+int(b))
浮点 Float
d=3.14 #<class'flo'>
# 列表 list
# student_list=['JJ','KK','R1ay']
# # print(student_list)
# # print(type(student_list))
# # print(student_list[0])
# # print(len(student_list)) #length
# print(student_list[0:1]) #取值范围
##对列表里的元素取值
#下标 index 从0开始对应列表里的每一个元素
print(stu_list[1:5])
stu_list.pop(2) #抛弃
print(stu_list)
#字典 dict dictionary
#键 -> key
#值 -> value
#键值对
classroom = {
'name':'Norris',
'gender':'plastic bag',
'age':99
}
#print(classroom['name'])
print(classroom.keys())
print(classroom.values())
print(classroom.items())
#元组 tuple
#用小括号表示()
a = (1,2,3)
6. 树莓派概述与功能介绍
● 树莓派的硬件结构与功能特点
7. Python 基础
● Python 语法结构的基本认识与实战应用
● 数据类型的选择
● 条件语句与逻辑运算
如果 或者
#if...else...
#如果 或者如果 或者
#if...elif...else....
score_input: str=input('请输入你的学分')
if score_input>90:
print('You are a honor student')
elif 90>= score_input >80:
print('You are a good student')
elif 80>= score_input >70:
print('You are a bad student')
用循环嵌套输出一个九九乘法表口诀表
# normal
for a in range(1,10):
for b in range(1,10):
print(a, '', b ,'=',(ab))
#pro
for i in range(1,10):
for j in range(1,i+1):
print(F'{i} x {j} = {i*j}', end='\t')
print(' ')
8. 程序结构与逻辑运算
● 程序顺序结构与条件结构的设计与实现
● 循环结构的应用场景
● 逻辑运算符的使用
import time
a=1
b=10
c=50
d=100
print(a+b)
print(a-b)
print(a*b)
print(d/c)
# 叠加运算
#模拟火箭发射
time_counter=10
for i in range(10):
print(time_counter)
time.sleep(1)
time_counter-=1
a=3
b=10
c=50
d=100
print(b%a)
print(b//a)
9. 编写一个傻瓜式机器人
● 简单机器人程序的设计思路
● 机器人行为的逻辑编程
● 程序调试与优化过程中的问题及解决
简单机器人程序设计思路以及落实到’傻瓜式机器人‘的探究报告
'How does a simple robot work? [1]'我们向谷歌提出这样一个问题,我们能得到的较为官方的答案是'Their sensors feed measurements to a controller or computer, which processes them and then sends control signals to motors and actuators.'[2]存在于robotsguide.com的一篇名为WHAT IS ROBOT 的一篇文章中[3]。且文中提到:机器人通常在重复执行从感知到计算再到运动的一个名为‘反馈循环[4]’的行为。所以,‘接收,整合,处理,规划,输出’,就是简单机器人程序设计的主要流程。
相较于中间三个过程,接收和输出看起来是最简单是部分——只是传输而已。所以当我们看到‘整合,处理,规划’之后,我们更应该把重心放在细化它们上。如何通过到今天的‘傻瓜式机器人[5]’上来解释呢?
不难发现,整合:即当输入的信息被程序接收后 我们需要将数据存储起来。在这里,我用的是定义一个名为input-choice这个变量来存储输入数据。
处理:我选择通过if语句来进行条件的判断筛选,进行相对应的处理——一个输入数字对应一个输出类别。虽然较为低效和基础,但是颇有成效且思路清晰。随后,我想让指令重复运行,即可以一直运行程序直到输入了终止程序的指令
规划:将数字对应内容找到后,我希望能够确定内容并将其输出,而规划的要点就是:将数字对应的内容提前规划好,提前创建一个预设。最后进行输出,并在用户输入’0‘之前一直运行此程序
最后,虽然程序较为简单粗暴 但更能体现输入-计算-输出这三步,其中’计算‘包含的’整合,处理,规划‘尤为重要。
[1][简单机器人是如何运作的?]
[2][传感器将测量数据喂给控制器或者电脑 然后电脑会对其进行处理成控制信号 随即发送至电机或动力单元]
[3][robotsguide.com/learn/what-…]
[4][feedback loop]
print('my demo test start here...')
Topics = {
'1':'greeting',
'2':'jokes',
'3':'cheating',
'4':'luckyNumber',
'5':'date',
'6':'year',
'7':'month',
'8':'day',
'9':'hour',
'10':'minute'
}
print('MENU')
print('0:exit')
print('1:greeting')
print('2:jokes')
print('3:cheating')
print('4:luckyNumber')
print('5:date')
print('6:year')
print('7:month')
print('8:day')
print('9:hour')
print('10:minute')
for i in range(1,11):
input_choice = input("Give a choice: ")
if input_choice == '1':
print('HELLO')
elif input_choice == '2':
print('What bee cant fly?The answer is...KO-BEE')
elif input_choice == '3':
print('another day is a better day!!!')
elif input_choice == '4':
print('24')
elif input_choice == '5':
print('Monday')
elif input_choice == '6':
print('2024')
elif input_choice == '7':
print('August')
elif input_choice == '8':
print('19th')
elif input_choice == '9':
print('4pm')
elif input_choice == '10':
print('40')
elif input_choice == '0':
break
else:
print('system error,the number is out of range')
10. Linux 基础
● Linux 基本命令的实用性分析
● 文件与目录操作在项目中的应用
11. Python 基础 II 与硬件控制
● 列表与字典在编程中的应用
12. 循环控制与思维逻辑
● for循环与while循环的区别与应用
1 while loop 循环
# while+条件
# 循环体(需要执行的代码)
a=0
while Ture:
● 嵌套循环在复杂问题中的应用
● 循环控制的思维逻辑训练
13. 完成乘法口诀表挑战
循环嵌套在乘法表设计中的应用