목록전공 공부/공학연구실습 (7)
개발 블로그

1. 강화학습이란? 에이전트(의사 결정자)가 주어진 환경(environment)에서 누적된 보상(reward)을 최대화하기 위한 행동(action)을 하는 것 강화학습은 컴퓨터 에이전트가 환경에서 반복적인 시행착오(trial and error)를 통해 작업 수행 방법을 학습하는 머신러닝 기법의 한 유형이다. 실수와 보상을 통해 학습하여 목표를 찾아가는 알고리즘이다. 보상(reward)를 사용해 가중치와 편형을 학습한다. 목적은 최적의 행동양식 또는 정책을 학습하는 것이다. 2. 강화학습의 구성요소 상태(state): 정적인 요소+동적인 요소 행동(action): 에이전트는 상태를 관찰(observation)하고, 이를 바탕으로 주어진 정책에 따라서 행동을 결정함. 관찰(observation): 환경의 현..

실습에서 사용하는 OpenAI Gym 환경의 Box2D Car Racing을 jupyter notebook, vscode 등에서 실행할 수 있는데 1. 주피터 노트북에서 실행하는 방법 anaconda prompt에서 가상환경 리스트를 확인한다. 나는 파이썬 버전이 3.7이고 tensorflow가 설치된 tensor 가상환경을 사용할 것이므로 activate tensor로 가상환경을 활성화 시킨다. 만약 tensorflow를 설치해야 한다면 아래와 같은 명령어를 입력한다. conda install tensorflow 그리고 jupyter notebook을 입력하여 주피터 노트북 실행한다. 주피터 노트북에서 새 파일을 만들고 gym box2d 환경을 설치한다. !pip install gym[box2d] 그리..
Tensorboard란? tensorflow에서 발생한 로그를 표시하거나 디버깅을 하기 위한 도구이다. tensorboard를 활용해 tensorflow를 시각화한다.

머신러닝/립더닝 모델의 성능 분석에 필요한 용어 정리 1. Confusion matrix(오차 행렬) training을 통한 모델의 예측 성능을 측정하기 위해 예측값과 실제값을 비교하기 위한 표 true/false: 실제와 예측이 일치하는가? positive/negative: 무엇으로 예측했는가? TP(True Positive): 실제는 positive인데, positive로 예측 FN(False Negative): 실제는 positive인데, negative로 예측 FP(False Positive): 실제는 negative인데, positive로 예측 TN(True Negative): 실제는 negative인데, negative로 예측 이 4가지 값들을 조합해 precision, recall 값을 계산..

colab에서 Keras로 인공신경망 학습하기 1. MNIST handwriting classification example: ANN colab에서 ANN 모델로 MINST 분류하는 모델을 만든다. (참고: https://keras.io/examples/vision/mnist_convnet/) 1) 모델을 위한 데이터를 준비한다. # Model / data parameters num_classes = 10 input_shape = (28*28,) # Load the data and split it between train and test sets (x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data() x_train = x_train..

1. openAI Gym 환경 openAI에서 개발한 openAI Gym(https://www.gymlibrary.dev/)은 다양한 시뮬레이션 환경을 제공하고, 이를 이용해 기계 학습/인공지능/강화 학습 등의 연구에 활용할 수 있다. openAI는 정확하게 구현된 환경을 제공하는데, 잘못 구현된 환경을 사용하면 학습이 안되거나 잘못된 규칙을 학습하는 경우가 발생해 강화 학습 성능을 평가하기 위해서는 정확한 환경이 필요하다. 또한 openAI Gym은 프로그래밍 또는 제어하기 쉬워 편리하다. 2. google colab 개발 환경 google colab은 클라우드 기반의 무료 Jupyter 노트북 개발 환경이다. colab은 웹 브라우저에서 텍스트와 프로그램 코드를 자유롭게 작성할 수 있는 일종의 온라인..