전체 글(24)
-
딥러닝에 대하여 쉽게 알아보기 1편
AI는 Artificial Intelligence의 약자이다. 한국어로 번역하면 인공지능이라고 부른다.인공지능이란 인간의 지능을 모방한 컴퓨터 프로그램이다. 예를 들어 나이 많은 사람은 한 번씩 사용해봤다는 심심이, 또는 간단한 질문 몇 개로 우리가 생각하고 있던 어떤 것을 맞추는 아키네이터이런 것들도 인공지능이라고 볼 수 있다. 더 나아가서 과거에 은행 사이트나, 통신사 사이트에서 볼 수 있던정해진 질문 예) "이 서비스는 어떻게 이용하나요?" 라는 버튼을 누르면 정해진 답변만 내놓는 간단한 채팅 봇 마저도 인공지능이다. 이처럼 인공지능이라는 타이틀은 생각보다 넓게 사용된다. 사실 위에서 말한 것들은 코딩으로 구현하고 싶다면if문이나, switch-case문으로 도배하면 언제든 만들 수 있을 것이다. ..
2025.09.03 -
TensorFlow 1.n 버전에서 tf.layers 를 사용한 CNN 모델 구현
바로 전 글에선 CNN 모델을 저수준에서 구현해보았다.https://roseandg1324.tistory.com/32 CNN 구현이 글은 아래 글을 보고 와야 이해할 수 있다.https://roseandg1324.tistory.com/30 CNN 의 기본 구조는 아래와 같다.위 이미지를 설명하자면 2차원 구조의 숫자 3 이미지(예: 32x32 크기)가 CNN에 입력된다. convoroseandg1324.tistory.com 이 글에서는 TensorFlow 1.x 버전에서 가능한 tf.layers API를 통해 MNIST 데이터를 활용하여 CNN 모델을 직접 구현한다. 먼저 데이터를 불러오자import tensorflow as tffrom tensorflow.examples.tutorials.mnist i..
2025.05.27 -
tensorflow를 사용한 CNN 저수준 구현
이 글은 아래 글을 보고 와야 이해할 수 있다.https://roseandg1324.tistory.com/30 CNN 의 기본 구조는 아래와 같다.위 이미지를 설명하자면 2차원 구조의 숫자 3 이미지(예: 32x32 크기)가 CNN에 입력된다. convolution 연산이 적용된다. 이때 필터(커널)의 크기는 3x3 또는 5x5 등으로 설정할 수 있으며, 예를 들어 5x5 필터를 4개 사용하면 4장의 특징 맵이 생성된다. 패딩을 적용하지 않는다면 출력 특징 맵의 크기는 32 - 5 + 1 = 28이 된다. 28x28 크기의 특징 맵 4장이 만들어진다. 2x2 max pooling 연산을 stride=2로 적용하면 각 특징 맵의 크기는 14x14로 줄어든다. 다시 5x5 필터를 12개 사용해 convol..
2025.05.27 -
CNN 추론에 대한 이론 이해
이 글은 DNN(Depp Neural Network)을 이미 이해하고 있는 사람을 위한 글이다. CNN은 Convolutional Neural Network 의 약자이다.기존의 DNN은 아래 그림과 같이기존 레이어가 레이어에 순차적으로 연결되는 레이어였다.CNN은 여러 개의 노드가 하나로 모이는(Merge) 형태의 유형이라고 볼 수 있다.CNN의 전체적인 동작 과정은 아래와 같다.먼저 Convolution layer가 쓰이고, Vanishing gradient(기울기 소실) 문제를 해결하기 위해 ReLU activation function을 사용한다.그 후 POLL과정을 거쳐 결과가 나오게 된다. 먼저 CONV 과정에 대해 알아보자. CNN에서 주로 사용하는 이미지 처리에서 이미지는 대부분width * ..
2025.05.01 -
딥러닝 양자화
딥러닝 모델에서 사용하는 숫자의 표현 범위를 줄여서 연산 속도를 높이고 메모리 사용량을 줄이는 기술이다. 딥러닝 모델은 기본적으로 32비트 부동소수점 연산을 사용한다. (float) 32비트 부동소수점을 더 낮은 비트를 사용하여 모델이 연산할 수 있게 하는 방법이다.예를 들어 -10 ~ 30 까지의 수가 있다고 하면최소 값인 -20을 uint8의 최소 값인 0에 대응시키고, 20을 최대 값인 255에 적용시키면32비트를 8비트로 바꿀 수 있다. 평균적으로 모델 크기는 1/4 감소, 추론 속도는 2~4배 상승, 메모리도 2 ~ 4 절약의 효과가 있다. 크게 3가지의 방법이 있다. 사후 양자화 (PTQ, Post-Training Quatization)학습되어있는 모델을 양자화한다. 양자화 인식 학습 (QAT..
2025.03.17 -
플러터 텍스트 위젯 Flutter Text Widget
TextText 위젯은 문자열 데이터를 화면에 표시한다.Text('Hello Flutter!'); HTML의 어트리뷰트 처럼 속성이 여러가지 있다. 1. data : 출력할 문자열이다. 위에서 Hello Flutter!라고 쓴 부분이다. 2. style : 텍스트의 스타일을 정의하는 TextStyle 객체 설정이다. 스타일에 대한 설명은 추후에..Text( 'Styled Text', style: TextStyle( //style(키): TextStyle(..)(생성자) fontSize: 24, // 글자 크기 color: Colors.blue, // 글자 색상 fontWeight: FontWeight.bold, // 굵기 fontStyle: FontStyl..
2024.12.03