본문 바로가기

전체 글606

8. Deep Learning Software 1. CPU vs GPU- GPU는 NVIDIA- GPU는 Matrix Multiplication에 강함!- CPU는 GPU보다 훨씬 적은 수의 코어가 있지만, CPU코어가 더 빠름- GPU는 개별적인 RAM을 갖고 있음.- 실제 모델과 가중치는 GPU RAM에 저장되어 있고, train data는 컴퓨터 저장장치에 저장되어 있기 때문에, data를 가져오는데에 시간이 많이 걸린다 -> 해결을 위해 데이터 작으면 RAM에 넣어놓고, HDD보다는 SDD를 사용하고, CPU 다중 스레드를 이용해서 데이터를 RAM에 미리 pre-fetching Programming GPU -> CUDA, OpenCL, UdacitycuDNN을 사용한 CUDA가 매우 강력함 2. Deep Learning Frameworks(T.. 2024. 4. 29.
7. Training Neural Networks 2 1. Optimization : Adam이 성능이 가장 좋고 가장 많이 쓰이는 알고리즘!training 데이터의 loss값 낮추는 것learning rate은 hyperparameter!SGD+Momentum : 가속도 있음 따라서 기울기가 0인 지점(local minima, saddle points)에서도 update가 진행될 수 있다.  (SGD는 mini batch를 사용)여기서 rho는 보통 0.9, 0.99이용 여기서 rho는 보통 0.9, 0.99이용 SGD는 지그재그로 최적화가 되지만(noise 발생), Momentum이 있을 때는 noise를 평균화시켜서 지그재그한 정도가 줄어든다.Nesterov MomentumAdagradRMSProp Adam : RMSProp+MomentumL-BFGS.. 2024. 4. 29.
7장 선형회귀(linear regression) 1. 선형 회귀 선형 회귀 : 실수 벡터 입력이 주어졌을 때 선형적 관계를 지닌 출력 실수 벡터 값을 예측하는 문제 n차원의 입력, m차원의 출력, 데이터 N개 loss값을 가중치 파라미터로 미분하여 loss 값을 낮추는 방향으로 파라미터 업데이트 -> 손실함수를 최소화하는 가중치 파라미터를 가진 선형 회귀 모델 2. 선형 회귀의 수식 선형회귀의 손실함수는 주로 MSE 손실 함수를 사용 각각의 샘플을 따로 계산하는 대신 행렬로 한꺼번에 계산 가능 W와 b로 각각 손실함수를 편미분한 후 경사하강법을 통해 업데이트 3. 선형회귀 실습 import pandas as pd import seaborn as sns import matplotlib.pyplot as plt from sklearn.datasets im.. 2024. 4. 22.
6장 경사하강법 1. 미분, 편미분 편미분: 하나의 입력 변수에 대해서만 미분 gradient : 기울기 벡터 선형계층 미분: m차원의 벡터를 출력으로 갖는 함수 f를 n차원의 벡터 x로 미분하는 경우 2. 경사하강법 경사하강법(gradient descent): 손실함수의 출력을 최소로 만드는 입력을 찾기 위한 방법 -> 손실 함수의 출력값을 낮추기 위해 가중치 파라미터로 미분하여 얻은 그래디언트를 학습률과 곱해서 현재 가중치 파라미터에서 빼줌 ->그래디언트와 반대방향으로! 경사하강법은 지역 최소점(local minima)에 빠질 문제점이 존재하지만, 심층신경망은 가중치 파라미터의 크기가 매우 커지게 되는데, 높은 차원의 공간에서는 지역 최소점이 큰 문제가 되지는 않음. 학습률은 하이퍼파라미터로서, 잘 설정해주어야 한다.. 2024. 4. 22.
(KISA) 필기 침해사고 아티팩트 수집 1. process 2. eventlog 3. mft 4. prefetch 5. pefile 6. memory dump 7. browser 8. persistence tasklist /SVC touch tasklist.txt | findstr svchost processexp -> select columns -> verified signer, version, image path, command line, integrity level explorer.exe -> cmd.exe -> powershell.exe 이게 아니면 이상! pslist에서 찾기 port : local, report가 모두 well-known port가 아니면 이상..!오후 4:21 2024-04-15 taskli.. 2024. 4. 18.
(KISA) 실습 1 교육생자가실습. 시나리오#1 - 프로세스 이상징후 분석 { Q. 악성 프로세스로 의심되는 실행파일의 경로는 무엇입니까? A. C:\Windows\System32\svcnet.exe Q. 악성 프로세스라고 판단하시게 된 이유는 무엇입까? A. 퍼시스턴스에 위의 실행파일 등록되어 있었으며, 서명정보/버전정보등이 올바르게 담겨있지 않다. Q. 악성코드가 사용하는 퍼시스턴스는 무엇입니까? 정확히 서술해주세요 A. KEY: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run VALUE : Shellapi32 DATA : C:\Windows\System32\svcnet.exe Q. 위의 악성실행파일의 생성시간은 언제입니까? A. 2015.06.22 11.. 2024. 4. 18.
(KISA) 강의 1 + 침해사고 조사 및 대응 절차 { 1. 침해사고 아티팩트/로그 수집 (Acquisition) 침해사고 조사분석에 필요한 각종 로그, 설정파일, 디지털 자료들을 피해 시스템에서 확보하는 단계 2. 정보추출 (Extraction) 확보한 디지털 증거들을 분석이 가능한 형태로 가공하고 필요한 내용을 추출하는 단계 3. 분석/해석 (Interpretation) 가공된 정보를 바탕으로 이상징후를 판별하고 분석하는 단계 } + 실습. 침해사고 아티팩스 수집 (Aquisition) { E:\LAB\ process\ # 프로세스의 이상징후 분석에 필요 # E:\DFIR\Sysinternals Suite\procexp.exe(관리자모드) 도구의 "file->save as" 기능을 이용하여 확보 # E:\LAB\S0\p.. 2024. 4. 18.
turtlebot3 자율주행 ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py ros2 launch turtlebot3_navigation2 navigation2.launch.py rviz2에서 2D Pose Estimate를 먼저 해주어야 하고 GUI 환경에서 Nav2 Goal을 지정해줌으로써 터틀봇을 움직일 수도 있지만 아래와 같이 send_goal을 직접 줄 수도 있다. turtlebot3_navigation2를 실행시켜주어야 /navigate_to_pose 액션 서버가 실행된다! ros2 action send_goal --feedback /navigate_to_pose nav2_msgs/action/NavigateToPose "{pose: {header: {stamp: {s.. 2024. 4. 14.
5장. 손실함수 1. 손실함수 N개의 데이터 샘플, n차원 L1 L2 : Euclidean distance RMSE MSE MSE는 L2 노름의 제곱에 상수를 곱한 2. 실습 def mse(x_hat, x): # |x|=(batch_size, dim) print((x-x_hat)**2) y=((x-x_hat)**2).mean() return y x=torch.FloatTensor([[1,1],[2,2]]) x_hat=torch.FloatTensor([[0,0],[0,0]]) print(mse(x_hat,x)) #2.5 torch.nn.function 사용 import torch.nn.functional as F F.mse_loss(x_hat,x) #2.5 F.mse_loss(x_hat,x, reduction='sum').. 2024. 4. 10.