2022학년도 텀프로젝트로 진행했던 내용입니다. 1. 배경 및 프로젝트 목표 전면적으로 대면 수업이 진행되면서 캠퍼스가 활기를 되찾고 있다. 그에 따라 공유형 전동킥보드(지쿠터, 씽씽이 등)들을 교내에서 쉽게 볼 수 있게 되었다. 이들은 짧은 거리를 효율적으로 이동할 수 있다는 장점이 있지만, 최근에는 안전 수칙이 잘 지켜지지 않아 위험한 존재로 대두되고 있다. 2021년에 도로교통법 개정으로 전동킥보드 등 개인형 이동장치(PM)에 대한 범칙금 등 규제 강화가 되었지만 잘 지켜지지 않으며, 단속이 어려운 실정이다. 이에 대학교를 중심으로 '교내 통행 금지' 움직임이 불고 있다. 우리 대학 또한 2021년 10월, 구성원들의 안전을 위해 학생처장 명의로 '교내 전동킥보드 통행 금지'를 공지했다. 이에 대학..
[딥러닝 express]의 연습문제 11장 풀이입니다. (개인적인 풀이기에 오답이 있을 수 있습니다!) Google의 colab에서 실행합니다. Google Colaboratory colab.research.google.com 9. FordA 데이터 세트를 이용하여 시계열 데이터를 분류해보자. FordA 데이터 세트에는 3601개의 훈련 샘플과 1320개의 테스트 샘플이 들어있다. 이들 시계열 데이터는 자동차 엔진 센서가 포착한 엔진 소음 측정 값이다. 이 작업의 목표는 엔진에 특정 문제가 있는 자동으로 감지하는 것이다. 이것은 이진 분류 작업으로 볼 수 있다. 시계열 데이터도 단순한 컨벌루션 신경망을 사용하여 분류할 수도 있다. https://keras.io./examples/timeseries/를 참..
[딥러닝 express]의 연습문제 10장 풀이입니다. (개인적인 풀이기에 오답이 있을 수 있습니다!) Google의 colab에서 실행합니다. Google Colaboratory colab.research.google.com 컨볼루션 신경망 (CNN : Convolutional Neural Network) CNN은 앞서 살펴보았던 신경망들과는 다르게 특징맵이라는 여러 개의 층으로 구성되어 있습니다. 각 특징맵은 부분적으로만 연결되어 있으며 데이터의 특징을 추출하는 역할을 합니다. 이러한 구조는 고양이의 시각세포가 움직이는 물체를 볼 때 특정 부분만 활성화되는 현상에서 아이디어를 얻어 고안되었습니다. 특징맵은 컨볼루션과 서브샘플링(풀링)이라는 연산을 반복하며 생성됩니다. 이 과정에서 데이터의 특징이 심층..
[딥러닝 express]의 연습문제 8장 풀이입니다. (개인적인 풀이기에 오답이 있을 수 있습니다!) 11. 이번 장에는 패션 아이템을 신층 신경망으로 분류하는 프로그램이 있다. 패션 아이템을 기본 MLP로 분류하는 프로그램을 작성하고 심층 신경망과 비교하여 보자 성능이 얼마나 높아지는가? import tensorflow as tf from tensorflow import keras # 입력데이터 fashion_mnist = keras.datasets.fashion_mnist (train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data() # 데이터 정규화 train_images = train_images / 255...
아래 글에 이어 작성된 글입니다. [인공지능] 하이퍼 파라미터 (에포크/배치/학습률/옵티마이저/손실함수/활성화함수) 아래 글에 이어 작성된 글입니다. [인공지능] 다층 퍼셉트론 (MLP)과 역전파 알고리즘 아래 글에 이어 작성된 글입니다. [인공지능] 인공신경망의 시작, 퍼셉트론 아래 글에 이어 작성된 글입니다. munak.tistory.com 심층신경망인 DNN과 관련 개념들에 대해 다룬 뒤 Keras로 실습합니다. 심층 신경망(DNN) : Deep Neural Networks DNN이란 MLP에서 은닉층의 개수를 증가시킨 형태로 여러 개의 은닉층을 가진 신경망을 말합니다. Deep이라는 이름에 걸맞게 몇십 개의 은닉층을 사용하는 모델들이 많습니다. 이런 DNN의 학습 알고리즘을 딥러닝이라고 부릅니다...
[딥러닝 express]의 연습문제 7장 풀이입니다. (개인적인 풀이기에 오답이 있을 수 있습니다!) 08. 케라스를 이용하여, 우리가 5장에서 학습한 초기 신경망인 퍼셉트론을 구현할 수 있을까? 케라스를 이용해서는 구현할 수 없다. 퍼셉트론의 경우 활성화 함수로 계단 함수를 사용하기 때문이다. 계단함수는 0값 에 대한 미분이 불가능해 미분 함수가 정의되지 않는다. 때문에 Keras가 사용하는 경사 하강법과 동시에 사용할 수 없다. 계단함수를 사용하고자 한다면 상위에서 작동하는 텐서플로우에서 활성화 함수에 대한 그래디언트를 따로 정의해 사용해야 한다. (tf.custom_gradient) 09. 케라스를 이용하여, 은닉층이 2개인 MLP를 생성해보자. 은닉층이 2개인 MLP를 이용하여, MNIST 숫자들..
Keras의 Sequential 모델을 사용해 MNIST 숫자를 학습시키고 테스트합니다. Google의 Colab 환경에서 실행합니다. Google Colaboratory colab.research.google.com Sequential 모델 Sequential 모델은 피드포워드 신경망(입력신호가 한방향으로 전달되는 신경망) 을 구현하는 가장 기초적인 모델입니다. 지원하는 여러 메소드들을 이용해 신경망을 구현하고 학습시킬 수 있습니다. Keras documentation: The Sequential model » Developer guides / The Sequential model The Sequential model Author: fchollet Date created: 2020/04/12 Last ..
[딥러닝 express]의 연습문제 6장 풀이입니다. (개인적인 풀이기에 오답이 있을 수 있습니다!) 01. 신경망에서는 다양한 활성화 함수가 사용된다. 어떤 활성화 함수들이 사용되는가? 각 활성화 함수들의 특징은 무엇인가? 계단함수 (step function) 입력 신호의 총합이 0을 넘으면 1을, 아니라면 0을 출력합니다. 0에서 미분되지 않습니다. 시그모이드 함수 (sigmoid function) 1980년대부터 사용되어온 전통적인 활성화 함수로 s자 형태의 곡선 형태를 가지며, 출력이 0.0에서 1.0의 연속적인 실수기 때문에 정밀한 출력이 가능하다는 장점이 있습니다. 하지만 입력값이 작아지거나, 커질수록 기울기가 0에 가까워지며 그래디언트 소실 문제가 발생합니다. ReLU 함수 (Rectifed..