Journal Search Engine
Search Advanced Search Adode Reader(link)
Download PDF Export Citaion korean bibliography PMC previewer
ISSN : 2093-5145(Print)
ISSN : 2288-0232(Online)
Journal of the Korean Society for Advanced Composite Structures Vol.8 No.2 pp.73-79
DOI : https://doi.org/10.11004/kosacs.2017.8.2.073

Analysis of the Effect of Training Options on Deep Learning Network for Handwriting Recognition

Byung-Jik Son1
1Professor, Department of International Civil and Plant Engineering, Konyang University, Nonsan, Korea
Corresponding author: Son, Byung-Jik Department of International Civil and Plant Engineering, Konyang University, Nonsan, Korea +82-41-730-5634, strustar@konyang.ac.kr
June 12, 2017 June 22, 2017 June 25, 2017

Abstract

Deep learning techniques are being studied and developed throughout the medical, agricultural, aviation, and automotive industries. It can be applied to construction fields such as concrete cracks and welding defects. One of the best performing techniques of deep running is CNN technique. In this study, we analyzed the classification of handwritten images using CNN technique before applying them to construction field. Deep running is generally more accurate with deeper layers, but analysis cost is high. In addition, many variations can occur depending on training options. Therefore, this study performed a parametric study to be a reference when CNN technique was applied through accuracy analysis according to training options.


손글씨 인식을 위한 딥러닝에서 훈련 옵션의 영향 분석

손 병직1
1건양대학교 해외건설플랜트학과 교수

초록


    National Research Foundation of Korea
    2017R1D1A1B03028210

    1서 론

    딥러닝(Deep Learning)은 다층구조 형태의 신경망을 기반으로 하는 머신러닝(Machine Learning)의 한 분 야로, 다량의 데이터로부터 높은 수준의 추상화 모델 을 구축하고자 하는 기법이다. 머신러닝은 프로그래머 가 알고리즘을 미리 설정하여 원하는 목적을 달성하 는 것으로서, 데이터를 기반으로 분석한 내용을 기계 가 학습하고 미래를 예측할 수 있는 기술을 포함한다. 이에 대해 딥러닝은 머신러닝의 발전된 기법으로 큰 틀에서 사람의 사고방식을 컴퓨터에게 가르치는 머신 러닝의 한 분야이다. 또한, 딥러닝은 다량의 데이터나 복잡한 자료들 속에서 핵심적인 내용을 요약하는 기 법으로, 처음에는 단순하게 선이나 색만 구별하고, 나 중에는 모양을 인식하고, 더 나아가 추상적인 레벨까 지 구분할 수 있도록 학습시키는 다층적인 의미를 가 진다.

    현재 딥러닝의 기법 중에 가장 성능이 좋은 기법 중의 하나는 CNN(Convolutional Neural Network) 기법이다. CNN은 LeCun(1989, 1998)이 필기체의 우 편번호나 숫자 등을 인식하기 위해서 처음으로 도입 한 이래 발전을 거듭해오고 있다.

    이러한 딥러닝의 기법은 의료분야, 농업분야, 항공 분야, 자동차분야 등 산업전반에 걸쳐서 연구, 발전되 고 있다. 콘크리트 균열이나 용접부 결함 등 건설분 야에도 적용이 가능할 것으로 판단된다.

    본 연구는 건설분야에 적용하기 앞서 손글씨로 쓰 여진 영상의 분류를 CNN 기법을 적용한 연구를 분 석하고자 한다. 딥러닝은 일반적으로 학습층(layers) 이 깊을수록 정확도가 높으나 해석 시간 등이 문제가 될 수 있다. 또한, 훈련 옵션에 따라서 많은 편차가 발생할 수 있다. 따라서, 본 연구는 훈련 옵션에 따른 정확도 분석을 통하여 CNN 기법을 적용할 때, 참조 가 되도록 파라미터 연구를 수행하였다.

    2CNN 개요

    CNN(Convolutional Neural Network)은 현재 딥러닝 기법 중 가장 성능이 우수한 방법이며. LeCun (1989, 1998)이 필기체의 우편번호나 숫자 등을 인식하기 위 해서 처음으로 도입한 이래 발전을 거듭해오고 있다. Fig. 1의 ILSVRC(ImageNet Large Scale Visual Recognition Challenge, 2017)은 ImageNet 영상 데이 터베이스를 기반으로 한 컴퓨터 비젼 분야의 성능의 우열을 가리는 대회이며, 2010년부터 매년 열리고 있 다. ImageNet은 약 22,000개의 카테고리에 속하는 1,500만개의 정답 있는 고해상도 영상으로 구성되어 있다. ILSVRC은 각 1,000개의 카테고리에 있는 1,000 개의 영상으로 구성되는 ImageNet의 부분집합을 사용 하며, 약 120만개의 훈련 이미지, 5만개의 검증 이미지 그리고 15만개의 시험 이미지로 구성된다.

    Fig. 1의 2010∼2011년은 전통적인 컴퓨터 비젼 (Computer Vision)의 방식(shallow)으로 딥러닝 학습 방법이 아니어서 오차가 높다. 정식적인 딥러닝의 방 법은 2012년 이후부터다. AlexNet, VGGNet, GoogleNet, ResNet으로 학습 층(layers)이 깊어질수 록(Deeper) 오차가 작아짐을 보이고 있다. 참고로 사 람이 인지하는 오차는 5.1%이며, 2016년 대회의 오차 는 2.99%이다. 이미 2015년(3.57%)부터 사람보다 우 수한 인지 능력을 가진 것이다.

    Fig. 2는 CNN의 개요를 나타낸 것이다. (a)는 전 통적인 머신러닝 방법과 CNN을 이용한 딥러닝 방법 을 비교한 것으로 CNN 기법은 학습 층이 깊어질수 록 정확한 결과를 예측하며, 결과를 확률로 예측하는 방법이다. (b)는 CNN의 구조 및 절차를 나타낸 것으 로 CNN은 기본적으로 Input → Convolutional Layer 1 → Convolutional Layer 2 → … → Fully Connected Layer → Output의 구조를 가진다.

    3손글씨 인식을 위한 CNN

    본 연구에서 손글씨로 쓰여진 숫자를 인식하기 위해 서 딥러닝의 한 방법인 CNN(Convolutional Neural Network)의 방법을 이용하였으며, 해석 프로그램은 기본적으로 Matlab 프로그램의 Neural Network Toolbox를 이용하여 수행하였다(Matlab, 2017).

    손글씨 숫자는 총 10,000개의 영상으로 0∼9까지 1,000개씩의 영상으로 구성되어 있으며, 그 중 20개를 랜덤하게 나타내면 Fig. 3과 같다. 손글씨 숫자는 그 림과 같이 크기도 다르며, 회전된 숫자도 있으며, 다 양한 필체로 쓰여져 있다. 영상의 크기는 28×28×1이며, 마지막 숫자 1은 Gray-scaled 영상임을 의미한다.

    CNN 기법을 이용한 손글씨를 인식하는 절차는 6 단계의 과정을 거치며, 요약하면 다음과 같다.

    3.1Step 1 : Load the Image Data

    Step 1은 10,000개의 손글씨 영상을 매트랩을 이용하 여 읽는 단계이다.

    3.2Step 2 : Specify Training and Test Sets

    Step 2는 영상 데이터를 훈련 데이터와 검증 데이터로 지정하는 단계이다. 훈련 데이터를 랜덤하게 설정하였 으며, 훈련 데이터가 많을수록 정확도가 높아진다.

    3.3Step 3 : Define the Network Layers

    Step 3은 CNN 기법의 핵심적인 단계로 CNN의 구조 를 정의한다. 여기에는 Image Input Layer, Convolutional Layer, ReLU Layer, Max-Pooling Layer, Fully Connected Layer, Softmax Layer, Classification Layer 등이 포함된다.

    3.4Step 4 : Specify the Training Options

    Step 4는 훈련할 옵션을 지정하는 단계이다. 즉, 학습 할 해석방법 및 학습 세대를 지정하고, 초기 학습률 등을 지정한다.

    3.5Step 5 : Train the Network using Training Data

    Step 5는 훈련 데이터로 훈련 옵션에 따라 훈련하는 단계이다.

    3.6Step 6 : Classify the Images in the Test Data and Compute Accuracy

    Step 6은 훈련에 사용하지 않은 영상을 판단하고, 정 확도를 계산하는 단계이다.

    4해석 예 및 결과 분석

    3장에서 제시한 CNN 기법을 이용하여 손글씨 인식 을 분석하였다. 딥러닝을 이용한 인식은 훈련 옵션에 영항을 많이 받으며, CNN의 핵심인 Convolutional Layer의 영향도 많이 받는다.

    따라서 훈련에 영향을 많이 미치는 사항을 파라미 터 변수로 설정하여 해석을 수행하였다. 파라미터 변수 는 Table 1과 같으며, 굵은 빨간색은 기본 값을 의미 한다. 변수의 개수를 6개로 설정하여 해석을 수행하여, 파라미터가 훈련에 미치는 영향을 분석하였다.

    Table 2는 Var. #6과 Var. #1의 변수 변화에 의 한 인식의 정확도를 나타낸 것이다. Var. #1은 총 영 상의 개수 대비 훈련 영상의 개수로서 훈련 데이터의 비율을 의미한다. Var. #6은 미니 배치 대비 훈련 데 이터의 비율이다. 미니 배치(mini-batch)는 영상을 한 번에 훈련하는 개수를 의미한다. 따라서, 1000%는 클 래스(0∼9)가 10개이기 때문에 한 세대(epoch)당 훈 련을 한번에 한다는 의미하고, 100%는 한 세대당 10 번의 훈련을 하는 것이다.

    Table 2에서 알 수 있듯이 훈련 데이터가 많을수 록 정확도가 좋아지는 반면 한 번에 처리하는 배치수 는 적을수록 정확도가 좋아진다는 것을 알 수 있다. 한 번에 처리하는 배치수가 너무 작아지면(1%, 5%) 정확도가 오히려 떨어지며, 시간도 많이 소요된다. 따 라서 적당한 배치수를 결정해야 한다.

    Table 3은 Var. #2와 Var. #1의 변수 변화에 의 한 인식의 정확도를 나타낸 것이다. Var. #2는 훈련하 는 세대(epoch)의 수를 나타내며, 세대 수가 많아질수 록 정확도가 높아지나 시간이 많이 소요되며, 어느 정도 세대 수 이상의 훈련이 되면 많은 효과를 나타 내지 않는다.

    Table 4는 Var. #3과 Var. #4의 변수 변화 및 Var. #6, Var. #1에 의한 정확도를 나타낸 것이다. Var. #3, #4는 Convolutional Layer에서 필터의 크기 와 필터의 개수를 나타낸다.

    한번에 처리하는 배치의 비율이 100%인 경우(No. 7∼9)의 경우는 필터의 크기 및 필터의 개수가 클수 록 정확도가 높아지는 반면, 그 이외의 경우 특히, 한 번에 처리하는 배치의 비율이 20%인 경우(No. 1∼3) 는 정확도가 비례하지 않았다. 이러한 이유는 필터의 개수가 많으면 훈련을 잘되나 실제 테스트에서는 과 적합(overfitting)이 발생하여 오히려 에러를 유발하는 경우이다. 한번에 처리하는 배치의 비율이 100%인 경 우(No. 7∼9)의 경우, 정확도가 필터의 개수에 비례하 는 이유는 아직 정확도 측면에서 아직 미흡하여 개선 의 측면이 있기 때문인 것으로 판단된다.

    Table 5는 Var. #6과 Var. #2의 변수 변화 및 Var. #5에 의한 정확도를 나타낸 것이다. Var. #5는 초기 학습률을 나타내며, 너무 크면 훈련 시간이 오 래 걸리고, 너무 작으면 차선의 결과에 도달할 수 있 게 된다. Table 5에서 알 수 있듯이 초기 학습률이 커질수록 훈련 시간이 오래 걸리고, No. 6의 경우는 정확도가 심지어 0%로 결과가 잘 나타나지 않는다. 초기 학습률이 0.00001(No. 1)로 너무 작으면 훈련 시 간(epoch 수)이 오래 걸리고, 차선의 결과에 도달해 정확도가 좋지 않았다. 본 해석 예에서는 초기 학습 률이 0.0005(No. 4) 근처에서 정확도가 가장 높게 나 타났다.

    5요약 및 결론

    딥러닝 기법 중 CNN 기법을 이용하여 손글씨 인식 을 분석하였다. 딥러닝을 이용한 인식은 훈련 옵션에 영항을 많이 받아 훈련에 영향을 많이 미치는 사항을 파라미터 변수로 설정하여 해석을 수행하였다. 파라미 터 변수는 총6개를 선택하여, 파라미터가 훈련에 미 치는 영향을 분석하여, 다음과 같은 결론을 얻었다.

    • 1) 기본적으로 훈련 데이터가 많을수록, 훈련 세 대(epoch)가 길수록, 한 번에 처리하는 배치 (mini-batch)수가 적을수록 좋은 결과를 얻었다.

    • 2) 한 번에 처리하는 배치수는 적을수록 정확도가 좋아지지만, 배치수가 너무 작아지면(1%, 5%) 정확도 가 오히려 떨어지며, 시간도 많이 소요된다. 따라서 적당한 배치수를 결정해야 한다.

    • 3) 훈련하는 세대(epoch)의 수가 많아질수록 정확 도가 높아지나 시간이 많이 소요되며, 어느 정도 세 대 수 이상의 훈련이 되면 많은 효과를 나타내지 않 는다.

    • 4) 필터의 개수가 많으면 훈련을 잘되나 실제 테 스트에서는 과적합(overfitting)이 발생할 수 있다.

    • 5) 초기 학습률이 커질수록 훈련 시간이 오래 걸 리고, 정확도가 심지어 0%로 결과도 나타났다. 초기 학습률이 0.00001로 너무 작으면 훈련 시간(epoch 수) 이 오래 걸리고, 차선의 결과에 도달해 정확도가 좋 지 않았다. 본 해석 예에서는 초기 학습률이 0.0005 근처에서 정확도가 가장 높게 나타났다.

    이상과 같이 본 연구에서는 CNN 기법을 이용한 손글씨 인식이 훈련 옵션에 어떠한 영향을 받는지 분 석하였다. 이러한 딥러닝 방법을 이용하여, 콘크리트 의 균열 인식, 강재의 부식 여부 판단, 하수관거 CCTV 동영상의 문자 인식으로 간접적인 손상 정보 파악 등이 가능할 것으로 판단된다. 이것은 추후에 연구를 수행하고자 한다.

    ACKNOWLEDGMENT

    이 논문은 2017년도(No. 2017R1D1A1B03028210) 정부(교육부)의 재원으로 한국연구재단의 지원을 받 아 수행된 기초연구사업임.

    Figure

    KOSACS-8-73_F1.gif

    ILSVRC top-5 error(%) on ImageNet

    KOSACS-8-73_F2.gif

    Schematic diagram of CNN (a) Traditional Machine Learning vs. Deep Learning (b) Structure & Procedure of CNN

    KOSACS-8-73_F3.gif

    Sample images of CNN for deep learning classification

    Table

    Analysis parameters

    Accuracy(%) of analysis results by Var. #6 vs. Var. #1

    Accuracy(%) of analysis results by Var. #2 vs. Var. #1

    Accuracy(%) of analysis results by Var. #3 vs. Var. #4

    Accuracy(%) of analysis results by Var. #6 vs. Var. #2

    Reference

    1. (2017) ImageNet Large Scale Visual Recognition Challenge 2017,
    2. (2017) “Neural Network Toolbox”,
    3. Son B J , Lee K H (2015) “The Area Measurement of Composite Specimen using Digital Image Processing” , J. Korea Soc. Adv. Comp. Struc, Vol.6 (2) ; pp.17-22
    4. LeCun Y , Boser B , Denker J S , Henderson D , Howard R E , Hubbard W , Jackel L D (1989) “Backpropagation Applied to Handwritten Zip Code Recognition” , Neural Computation, Vol.1 ; pp.541-551
    5. LeCun Y , Bottou L , Bengio Y , Haffner P (1998) “Gradient-Based Learning Applied to DocumentRecognition” , Proc. of The IEEE, ; pp.1-46