본문 바로가기

반응형

AI & Big Data/AI

(15)
[Novel.AI] Novel AI 그림 그려주는 인공지능에 대해 알아보자 (2 - 배경) [Novel.AI] Novel AI 그림 그려주는 인공지능에 대해 알아보자 (1) 서 론 "미쳤습니까, 휴먼?" 우리는 이제 대(大) AI시대에 살고 있다. 카메라로 찍으면 글씨도 읽어주고…… 사진에 나온 인물만 깔끔하게 누끼를 따주는 아이폰(iOS 16이상)의 기능도 있다. 어디 그 underflow101.tistory.com 서 론 그러니까…… AI업계에서는 DALL·E의 파급이 더 컸었는데, 막상 대중에게는 Novel.AI의 파급이 훨씬 더 컸다. DALL·E가 나왔을 때 일러스트레이터계에서는 아무 말조차 안 나왔을 뿐더러(사실 일러스트레이터계에서는 DALL·E의 존재 자체를 아는 사람이 극소수였을 것이다. AI업계에서만 선풍적이었으니까……) 아무런 영향을 끼칠 거란 상상조차 하지 못했을 것이다. ..
[Novel.AI] Novel AI 그림 그려주는 인공지능에 대해 알아보자 (1 - 배경) 서 론 "미쳤습니까, 휴먼?" 우리는 이제 대(大) AI시대에 살고 있다. 카메라로 찍으면 글씨도 읽어주고…… 사진에 나온 인물만 깔끔하게 누끼를 따주는 아이폰(iOS 16이상)의 기능도 있다. 어디 그뿐만인가? 선두주자인 테슬라를 비롯한 현대, 기아, 독3사 자동차 회사에서 자율주행 기능을 옵션으로 넣어 판매하는 시대까지 도래했다. 생각해보면 필자가 어릴 적에는 자율주행자동차는 SF 공상과학 소설에나 나오던 설정인데... 정말 시대가 빨리 흘러간다. 어쩌다보니 AI의 폭발적인 성장으로 우리는 편---안한 세상에 도달하게 되었다. 그런데…… 명(明)이 있으면 암(暗)도 있는 법. 현재 가장 뜨거운 감자인 "Novel.AI" 가 출시되어버린 이후 일러스트레이터 계가 시끌벅적하다. 그들은 Novel.AI를 ..
efficientnet-lite0
ReXNet V1 summary ---------------------------------------------------------------- Layer (type) Output Shape Param # ================================================================ Conv2d-1 [-1, 32, 112, 112] 864 BatchNorm2d-2 [-1, 32, 112, 112] 64 Sigmoid-3 [-1, 32, 112, 112] 0 Swish-4 [-1, 32, 112, 112] 0 Conv2d-5 [-1, 32, 112, 112] 288 BatchNorm2d-6 [-1, 32, 112, 112] 64 ReLU6-7 [-1, 32, 112, 112] 0 Conv2d-8 ..
[AI 이론] Layer, 레이어의 종류와 역할, 그리고 그 이론 - 7 (Dense, Fully Connected Layer) Dense, Fully Connected Layer 가끔 Tensorflow로 작성된 모델을 보다보면, 모델의 클래스 맨 아래쪽에 아래와 같은 코드를 볼 수 있다. # Tensorflow 2.X class SomeModel(tf.keras.Model): def __init__(self): # Some Algorithm... self.conv = tf.keras.layers.Conv2D(...) self.bn = tf.keras.layers.BatchNormalization() self.fc = tf.keras.layers.Dense(...) def call(self): # Some Algorithm... 다른 것은 conv, bn 등, Conv2D에서 따오거나 BatchNormalization을 축약했거..
[AI 이론] Layer, 레이어의 종류와 역할, 그리고 그 이론 - 6 (Dropout) Dropout Layer Dropout Layer는 Overfitting 문제점을 극복하기 위해 나온 방법론이다. 위 그림과 같은 데이터 셋 군집이 있을 때, 우리가 원하는 학습 결과는 중간의 Good 처럼 되길 원한다. 너무 학습이 되지 않으면 Underfitting처럼 분간이 안되고, 너무 학습 데이터에 과도하게 학습이 진행이 되면, Overfitting으로 학습 데이터만 맞출 수 있는 기현상이 일어나게 된다. (테스트 데이터나 실제 상황에서 정답을 내지 못하는 현상이 일어나게 된다.) 이는 제한된 샘플에 너무 특화가 되어,새로운 샘플에 대한 예측의 결과가 오히려 나빠지거나 학습의 효과가 나타나지 않는 경우를 말한다. 결론적으로 Overfitting이 일어나게 되면 위 두 그래프와 같이, 학습 데이터..
[AI 이론] Layer, 레이어의 종류와 역할, 그리고 그 이론 - 5 (DepthwiseConv, PointwiseConv, Depthwise Separable Conv) Depthwise Convolutional Layer Depthwise Conv 레이어는 우선 Tensorflow 2.X 에서는 기본 레이어 함수로 지원하나, PyTorch에서는 지원하지 않는다. 그렇다고 만들기 어렵지는 않다. 우선은 Depthwise Conv 레이어를 왜 쓰는지, 그 역할은 무엇인지에 대해 알아보도록 하자. 위 그림처럼, H × W × C(차례대로 Height, Width, Channels)의 Convolutional Ouput을 채널 단위로 분리하여, 각각 Conv Filter를 적용하여 Output을 만들고, 그 결과를 다시 합치면 Conv Filter가 훨씬 적은 파라메터를 갖고 동일한 크기의 Output을 낼 수 있다. (각 Filter에 대한 연산 결과가 다른 Filter로부..
[AI 이론] Layer, 레이어의 종류와 역할, 그리고 그 이론 - 4 (Pooling Layer) Pooling Layer의 개념과 용례 Tensorflow와 PyTorch에서는 여러 종류의 Pooling Layer 함수를 지원하지만, 이미지 분류 모델에 있어 그 중 가장 많이 활용되는 것은 MaxPooling2D 쪽이다. 그렇다면 Pooling Layer들은 어떤 역할을 하는가? 풀링은 차례로 처리되는 데이터의 크기를 줄인다. 이 과정으로 모델의 전체 매개별수의 수를 크게 줄일 수 있다. 풀링에는 MaxPooling과 AveragePooling이 존재하는데, MaxPooling은 해당 영역에서 최댓값을 찾는 방법이고, (위 그림이 MaxPooling의 예시이다.) AveragePooling은 해당 영역의 평균값을 계산하는 방법이다. 그렇다면 이러한 과정(Pooling)을 왜 거쳐야 하는가? 더 높은..

반응형