
딥러닝의 통계적 이해 출석 수업 과제물 (2023, 만점)
본 내용은
"
딥러닝의통계적이해 출석수업과제물 (2023, 만점)
"
의 원문 자료에서 일부 인용된 것입니다.
2024.03.05
문서 내 토픽
-
1. Teachable Machine을 이용한 머신러닝 모델 구축Teachable Machine을 활용하여 이미지를 학습시켰다. 사용한 이미지는 구글 이미지에서 '귀멸의 칼날'이라는 애니메이션의 주인공 4명의 다른 사진들을 각각 10장씩 찾은 뒤 머신러닝의 입력값으로 사용하였다. 본 머신러닝으로 실제로 가지고 있는 피규어 사진을 찍어 이 사진을 입력하면 애니메이션 캐릭터를 정확하게 분류할 수 있는지 파악하고자 하였다. 다양한 하이퍼파라미터 조정을 통해 최적의 정확도를 얻고자 하였으나, 설정에 따른 결과 비교를 대량으로 진행하여 거기서 최적화를 하는 방법이 필요하다고 결론 내릴 수 있다.
-
2. 다층신경망의 학습 과정다층신경망은 은닉층이 다수인 신경망을 의미하는 만큼, 그 과정 또한 복잡하다. 먼저, 데이터 수집 및 전처리 단계에서 학습 데이터 수집과 전처리를 진행한다. 이후, 신경망 아키텍처 선택 단계에서 다층신경망을 설계하기 위해 신경망의 구조와 레이어 수, 뉴런 수, 활성화 함수 등을 선택한다. 그리고 나서 가중치 초기화 단계에서 신경망 초기 가중치를 무작위로 초기화한다. 이후, 입력 데이터를 신경망에 넣어 예측값을 계산하는 순전파 단계를 거치고, 손실 함수 계산 단계로 넘어가 손실 함수를 계산한다. 이후, 손실 함수 최소화를 위해 가중치를 조정하는 역전파 단계를 거치며, 이 과정을 여러 번 반복한다. 최종 평가가 완료되면, 예측 단계로 돌입해 학습된 모델을 활용해 새로운 데이터를 예측하여 예측값을 출력한다.
-
3. 하이퍼파라미터 조정에 따른 신경망 성능 비교학번 끝자리가 8에 해당하여 (d)의 데이터를 이용해 하이퍼파라미터에 따른 신경망 변화를 비교하였다. 활성화 함수로 tanh, sigmoid, ReLU를, 정규화로 L1, L2, None을, 학습률을 0.003, 0.03, 0.3으로 변경하며 성능을 비교하였다. 그 결과, ReLU 함수와 높은 학습률(0.3)에서 가장 좋은 성능을 보였으나, 전반적으로 만족스러운 분류 성능을 보이지는 못하였다. 입력 데이터를 늘려 확인해보니 그나마 높은 성능을 보임을 확인할 수 있었다.
-
4. MNIST 데이터를 이용한 완전연결신경망 구현먼저 MNIST 데이터를 읽어와 탐색적 분석을 진행하였다. 이후 훈련데이터와 평가데이터로 분리하고, 완전연결신경망을 구현하였다. 활성화 함수로 ReLU와 Softmax를 사용하였고, 12 Epoch 동안 학습을 진행하였다. 그 결과 약 98%의 정확도와 0.07의 손실을 보이며 높은 성능을 달성할 수 있었다.
-
1. Teachable Machine을 이용한 머신러닝 모델 구축Teachable Machine은 사용자가 직접 데이터를 수집하고 모델을 학습시킬 수 있는 간단한 머신러닝 도구입니다. 이를 통해 사용자는 별도의 코딩 지식 없이도 자신만의 이미지 분류, 음성 인식, 포즈 인식 모델을 구축할 수 있습니다. Teachable Machine은 데이터 수집, 전처리, 모델 학습, 배포 등 머신러닝 프로세스의 전 과정을 직관적인 인터페이스로 제공하여 초보자도 쉽게 접근할 수 있습니다. 또한 구글 클라우드 플랫폼과 연동되어 웹 애플리케이션으로 배포할 수 있는 등 실용성이 높습니다. 다만 복잡한 모델을 구축하거나 고도의 성능을 요구하는 경우에는 한계가 있을 수 있습니다. 따라서 Teachable Machine은 머신러닝에 대한 이해도가 낮은 사용자들이 쉽게 접근할 수 있는 좋은 도구이지만, 보다 전문적인 활용을 위해서는 코딩 기반의 머신러닝 프레임워크를 활용하는 것이 필요할 것 같습니다.
-
2. 다층신경망의 학습 과정다층신경망은 입력층, 은닉층, 출력층으로 구성된 인공신경망 모델입니다. 이 모델은 복잡한 비선형 함수를 학습할 수 있어 다양한 문제에 적용될 수 있습니다. 다층신경망의 학습 과정은 다음과 같습니다. 1. 초기화: 은닉층과 출력층의 가중치를 작은 난수로 초기화합니다. 2. 순전파: 입력 데이터를 입력층에 넣고 은닉층과 출력층을 거치면서 출력값을 계산합니다. 3. 오차 계산: 출력값과 정답 사이의 오차를 계산합니다. 4. 역전파: 출력층에서 입력층 방향으로 오차를 역으로 전파하면서 가중치를 업데이트합니다. 5. 반복: 2-4 과정을 지정된 횟수 또는 오차가 일정 수준 이하가 될 때까지 반복합니다. 이 과정을 통해 다층신경망은 입력 데이터와 정답 사이의 복잡한 관계를 학습할 수 있습니다. 학습이 진행될수록 오차가 감소하고 모델의 성능이 향상됩니다. 다만 과적합 문제, 학습 속도 저하 등의 이슈가 발생할 수 있어 이를 해결하기 위한 다양한 기법들이 연구되고 있습니다.
-
3. 하이퍼파라미터 조정에 따른 신경망 성능 비교신경망 모델의 성능은 다양한 하이퍼파라미터에 크게 의존합니다. 하이퍼파라미터는 모델 구조, 학습 과정 등을 결정하는 사용자 정의 변수로, 적절한 값 설정이 중요합니다. 대표적인 하이퍼파라미터로는 학습률, 배치 크기, 은닉층 수, 은닉층 크기, 정규화 계수 등이 있습니다. 하이퍼파라미터 조정에 따른 신경망 성능 비교 실험을 통해 다음과 같은 결과를 얻을 수 있습니다: 1. 학습률: 너무 작으면 학습이 느리고, 너무 크면 발산할 수 있어 적절한 값 선택이 중요합니다. 2. 배치 크기: 배치 크기가 클수록 학습 속도가 빨라지지만, 메모리 사용량이 증가합니다. 3. 은닉층 수 및 크기: 복잡한 문제일수록 더 깊고 넓은 신경망이 필요하지만, 과적합 위험이 있습니다. 4. 정규화: 과적합을 방지하기 위해 L1, L2 정규화 등을 적용할 수 있지만, 과도한 정규화는 성능을 저하시킬 수 있습니다. 이처럼 하이퍼파라미터 조정은 모델 성능에 큰 영향을 미치므로, 문제 특성과 데이터 특성을 고려하여 최적의 하이퍼파라미터를 찾는 것이 중요합니다. 이를 위해 그리드 서치, 랜덤 서치, 베이지안 최적화 등의 기법을 활용할 수 있습니다.
-
4. MNIST 데이터를 이용한 완전연결신경망 구현MNIST 데이터는 손글씨 숫자 이미지 데이터셋으로, 머신러닝 및 딥러닝 모델 구현을 위한 대표적인 벤치마크 데이터셋입니다. MNIST 데이터를 이용한 완전연결신경망(Fully Connected Neural Network) 구현은 다음과 같은 과정으로 진행할 수 있습니다. 1. 데이터 전처리: MNIST 데이터를 입력 이미지와 정답 레이블로 분리하고, 이미지를 1차원 벡터로 변환합니다. 2. 모델 설계: 입력층, 은닉층, 출력층으로 구성된 완전연결신경망을 설계합니다. 은닉층의 활성화 함수로는 ReLU를 사용할 수 있습니다. 3. 손실 함수 및 최적화: 손실 함수로 교차 엔트로피 손실을 사용하고, 최적화 알고리즘으로 SGD, Adam 등을 적용합니다. 4. 학습 및 평가: 학습 데이터로 모델을 학습시키고, 검증 데이터로 모델의 성능을 평가합니다. 5. 하이퍼파라미터 튜닝: 학습률, 배치 크기, 은닉층 크기 등의 하이퍼파라미터를 조정하여 모델 성능을 향상시킵니다. 이러한 과정을 통해 구현된 완전연결신경망 모델은 MNIST 데이터에 대해 높은 분류 정확도를 달성할 수 있습니다. 또한 이 모델은 이미지 분류, 음성 인식, 자연어 처리 등 다양한 문제에 응용될 수 있습니다. 다만 복잡한 문제에서는 합성곱 신경망(CNN) 등 보다 복잡한 모델 구조가 필요할 수 있습니다.