본문 바로가기

전체 글606

4장. 선형계층 선형계층은 행렬의 곱과 벡터의 덧셈으로 이루어짐! 1. 행렬곱(matmul) x=torch.FloatTensor([[1,2],[3,4],[5,6]]) y=torch.FloatTensor([[1,2],[1,2]]) z=torch.matmul(x,y) print(z) print(z.size()) // 3x2 2. 배치행렬곱(bmm) bmm은 마지막 2개의 차원을 행렬 취급하여 병렬로 행렬 곱 연산 수행 x=torch.FloatTensor(3,3,2) y=torch.FloatTensor(3,2,3) z=torch.bmm(x,y) print(z.size()) #3x3x3 3. 선형계층 W=torch.FloatTensor([[1,2],[3,4],[5,6]]) b=torch.FloatTensor([2,2]) def.. 2024. 4. 10.
6. Training Neural Networks 1 1. Activation Functions(비선형 연산) ReLU를 사용하자! ReLU가 표준으로 많이 사용됨. 하지만, learning rate를 잘 결정해야 한다! 1) Sigmoid 단점: Saturated neurons kill the gradients 기울기가 0에 가까워지는 현상: Saturation -> Vanishing Gradient 문제를 일으킴 (backprop에서 0이 계속 전달됨) 단점: Sigmoid outputs are not zero-centered 2) tanh 장점: zero centered는 해결됨 단점: still kills gradients when saturated 3) ReLU 장점: 양의 값에서는 saturation이 되지 않는다. 장점: 매우 빠름 단점: 음의.. 2024. 4. 8.
5. Convolutional Neural Networks 참고: https://lynnshin.tistory.com/7?category=919376 [5강] Convolutional Neural Networks 이번에는 Convolutional Layer에 대해 배울 것이다. 먼저 CNN의 역사를 알아보자. 1957년 Frank Rosenblatt가 Mark I Perceptron machine 을 개발했다. 이 기계는 perceptron이라고 불리는 알고리즘을 구현한 최초의 기 lynnshin.tistory.com 1. Fully Connected Layer Fully Connected Layer는 32x32x3의 이미지를 펴서 3072차원의 벡터로 만든뒤 가중치 W(10x3072 행렬) 벡터를 곱해서 activation을 layer의 출력값으로 얻는다. 2.. 2024. 4. 8.
3장 파이토치 튜토리얼 텐서: 딥러닝에서 가장 기본이 되는 단위 중 하나(3차원 이상의 배열)1. numpy 호환 1. numpy tensor import torch import numpy as np x=np.array([[1,2],[3,4]]) y=torch.from_numpy(x) x=y.numpy() 2. 텐서크기 구하기 x=torch.FloatTensor([[[1,2],[3,4]],[[5,6],[7,8]],[[9,10],[11,12]]]) print(x.size()) #torch.Size([3, 2, 2]) print(x.shape) #torch.Size([3, 2, 2]) print(x.size(-1)) #2 print(x.shape[-1]) #2 # dimension print(x.dim()) #3 print(len.. 2024. 4. 4.
4. Introduction to Neural Networks 1. Backpropagation gradient 구하기 위해서 backpropagation 사용 backpropagation은 chain rule 사용 2. Neural Network 2024. 4. 2.
자율주행을 위한 Visual SLAM SLAM(Simulataneous Localizaion and Mapping) : 로봇의 현재 위치 및 주변환경을 동시에 탐색하는 기술 - Localization(자신의 위치) - Mapping(주변의 환경) 자신의 위치와 주변의 환경을 아는 법 -> 가이드레일, QR코드, GPS : 사용 범위의 제한 -> 카메라, 라이다, IMU, 휠 엔코더 등의 센서: 로봇에 설치 1. Visual SLAM : 카메라!! 단안 카메라 한개의 카메라 사용-> 단점: 스케일 모호성 스테레오 카메라 두개의 카메라 사용 삼각측량법등으로 depth를 측정 -> 단점: 구성과 보정이 복잡하여 컴퓨팅 자원을 많이 소비함 RGB-D 카메라 TOF Depth Sensor가 추가됨 빛이 반사되어 돌아오는 시간을 측정하여 객체와의 거리.. 2024. 4. 1.
Lecture 3: Loss Function and Optimization 1. Loss Function 손실함수 http://vision.stanford.edu/teaching/cs231n-demos/linear-classify/ SVM loss(=Hinge loss) - 여기서 1은 margin -> margin 조절 가능함. - 단지 정답 클래스가 정답이 아닌 클래스보다 margin이상으로 높은지가 중요함! Softmax - 마이너스 로그 확률분포 : 확률이 커야햐므로 -> (마이너스 로그) loss는 작은 것 - 전체 합은 1이됨 2. Optimization Gradient Descent loss를 최소화 시키는 w를 찾아야 하는데, 전체 training set의 loss 평균을 구하고, gradient를 구해 stepsize(learning rate)를 곱해줘서 des.. 2024. 4. 1.
Lecture 2 : Image Classification Pipeline Computer Vision이 어려운 이유 1) Viewpoint variation 2) Illumination 3) Deformation 4) Occlusion - 가려져있는 것/일부만 보이는 경우 5) Background clutter 6) Intraclass variation Rule-based vs Data-Driven Approach - Rule-based - Hand crafted features 1) edge&corners : 픽셀값이 갑자기 변하는 경우(미분해서) 2) Bag of words 3) HOG(Histogram of Oriented Gradient for human detecting) - Data-Driven Deel Learning Alg. === [Feature Extract.. 2024. 4. 1.
NSFuzz : Towards Efficient and State-Aware Network Service Fuzzing Qin, Shisong, et al. "Nsfuzz: Towards efficient and state-aware network service fuzzing." ACM Transactions on Software Engineering and Methodology 32.6 (2023): 1-26. 기존 네트워크 서비스 퍼징의 문제점 1. state representation 기존 퍼저: AFLNET -> STATEAFL -> SGFuzz(Usenix 22) : AFLNET에서는 response code를 이용해서 state representation을 했다면, STATEAFL의 경우에는 in-memory state를 사용한다. 하지만 오버헤드의 문제점이 있다. SGFuzz의 경우 state variable.. 2024. 3. 27.