상세 컨텐츠

본문 제목

[생성AI] 생성AI 기초(2) : 신경망(Neural Networks)

초심자를 위한 AI/AI가 뭔가요?

by GAI.T & a.k.a Chonkko 2023. 3. 30. 08:35

본문

 

 

지난 글에서 생성 AI 시스템은 기존에 존재하는 데이터를 학습하고 학습한 내용에 기반하여 새로운 데이터를 "생성"한다고 소개드렸습니다. 이렇게 기존 데이터를 기반으로 새로운 데이터를 생성할 수 있게 해주는 가장 핵심적인 요소가 바로 신경망(Neural Networks)입니다. 

 

신경망의 개념


신경망(Neural Networks)은 인간 뇌의 구조와 기능에서 영감을 받은 머신러닝(기계학습) 모델의 한 종류입니다. 데이터로부터 학습하고 그 데이터를 기반으로 예측을 수행합니다. 인간의 뇌를 본뜨고 있기 때문에 인공지능 신경망의 기본 구성 요소도 뉴런입니다. 뉴런은 입력 신호를 받아 출력 신호를 생성합니다. 이러한 뉴런들은 서로 연결되어 계층을 이루며 상호 연결된 노드의 네트워크를 만듭니다.

그렇다면 AI의 신경망을 훈련시킨다는 말은 무슨 뜻일까요? 바로 서로 연결되어 있는 뉴런 간에 연결 가중치와 편향을 조정하는 것입니다. 네트워크에 일련의 훈련 데이터를 제공하고 네트워크가 예측하는 결과 값과 훈련 데이터의 실제 값 사이의 차이가 최소가 되도록 계속 가중치와 편향을 조정하는 것이 훈련입니다. 훈련받은 네트워크는 새로운 데이터에 대한 예측을 수행할 수 있습니다.


신경망의 종류

인공지능의 신경망 모델에는 여러가지가 있지만 그 중 생성 AI와 관련하여 가장 핵심이 되는 신경망은 생성적 적대 신경망(Generative Adversarial Networks, GAN)입니다. 개념이 이해하기 쉽지는 않지만 GAN 만큼은 정확히 이해하면 좋을 것 같고, 그 밖의 신경망에 대해서도 알아두면 AI를 이해하는데 도움이 될 것으로 봅니다. 

 

• 생성적 적대 신경망(Generative Adversarial Networks, GAN)

GAN은 기존 데이터를 기반으로 새로운 데이터를 생성하기 위해 설계된 신경망입니다. 서두에서 이야기한 생성 AI의 정의에 부합합니다. GANs는 생성자(Generator)와 식별자(Discriminator)라는 두 개의 신경망으로 구성됩니다. 생성자는 무작위 입력을 가져와 새로운 샘플을 생성하고, 식별자는 샘플이 실제 데이터인지 아니면 가짜 데이터인지 판별합니다. 두 신경망은 함께 학습되며, 생성자는 식별자를 속이는 샘플을 생성하려고 하고, 식별자는 실제 데이터와 가짜 데이터를 올바르게 식별하려고 합니다. 이렇게 생성자와 식별자의 적대적인 경쟁을 통해 네트워크가 훈련을 받으며 가중치와 편향이 조정되고 예측값의 정확도가 올라가게 되는 원리입니다. GAN는 이미지 생성이나 텍스트 생성과 같은 작업에 일반적으로 사용됩니다.

• 순방향 신경망(Feedforward Neural Networks, FNN)

 FNN은 가장 간단한 유형의 신경망입니다.  뉴런들이 서로 연결된 계층으로 구성되어 있으며, 한 계층의 각 뉴런은 다음 계층의 모든 뉴런과 연결됩니다. 입력 데이터는 첫 번째 계층에 공급되며 출력은 마지막 계층에서 생성됩니다. Feedforward Neural Networks는 이미지 인식 및 자연어 처리와 같은 분류 작업에 일반적으로 사용됩니다.

순환 신경망(Recurrent Neural Networks, RNN)

 RNN은 순차적인 데이터(시계열 데이터 또는 언어 데이터)를 처리하기 위해 설계된 신경망입니다. 뉴런 간에 피드백 연결이 있어 정보가 시간 단계 사이에서 전달됩니다. 이를 통해 네트워크는 과거 입력을 기억하고 그것을 기반으로 출력을 생성할 수 있습니다. Recurrent Neural Networks는 음성 인식 및 기계 번역과 같은 작업에 일반적으로 사용됩니다.


• 합성곱 신경망(Convolutional Neural Networks, CNN)

CNN은 이미지나 오디오 스펙트로그램과 같은 격자 형태의 입력 데이터를 다루기 위해 설계된 신경망입니다. 합성곱 신경망은 합성곱 뉴런(Convolutional Neuron)이라는 특별한 종류의 뉴런을 사용합니다. 이 뉴런은 학습된 필터 집합을 입력 데이터에 적용하여 특징을 추출합니다. 합성곱 계층(Convolutional Layer)의 출력은 하나 이상의 완전 연결 계층을 통과하여 최종 출력을 생성합니다. 합성곱 신경망은 이미지 분류나 물체 검출과 같은 작업에 일반적으로 사용됩니다.

 

신경망이 어떻게 생성적 인공지능(Generative AI)에 도움이 되는가


신경망은 기존 데이터를 기반으로 새로운 데이터를 생성할 수 있기 때문에 생성적 인공지능(Generative AI)의 중요한 구성 요소입니다. 데이터셋에서 신경망을 학습시키면, 데이터의 패턴과 관계를 학습하고 그 지식을 사용하여 원래 데이터와 유사한 새로운 데이터를 생성할 수 있습니다.

신경망이 생성적 인공지능에서 가장 일반적으로 사용되는 방법 중 하나는 생성 모델(Generative Models)을 사용하는 것입니다. 생성 모델은 기존 데이터와 유사한 새로운 데이터를 생성하기 위해 설계된 머신러닝(기계 학습) 모델의 한 종류입니다. 오토인코더(Autoencoder), VAE(Variational Autoencoder), GAN(Generative Adversarial Networks) 등 다양한 종류의 생성 모델이 있지만 그 중 가장 많이 알려진 것은 역시 GAN입니다. 

GAN은 가장 유명한 생성 모델입니다. 이전에 언급했듯이, GAN은 생성자(Generator)와 식별자(Discriminator) 두 개의 신경망으로 구성됩니다. 다시 설명하면, Generator는 임의의 입력을 가져와 새로운 샘플을 생성하고, Discriminator는 샘플이 실제 데이터인지 아닌지를 평가합니다. 두 네트워크는 함께 학습되며, Generator는 Discriminator를 속일 수 있는 샘플을 생성하려 하고, Discriminator는 실제 및 가짜 샘플을 올바르게 식별하려고 노력합니다.

GAN의 주요 장점 중 하나는 고품질, 현실적인 데이터를 생성할 수 있는 능력입니다. GAN은 이미지 생성, 비디오 생성 및 음악 생성과 같은 작업에 사용되었습니다. 또한 GAN은 기계 학습 모델의 성능을 개선하기 위해 추가적인 훈련 데이터를 생성하는 데이터 증강에도 사용됩니다.

 

그 밖에 오토인코더(Autoencoder)는 소위 비지도 학습(unsupervised learning)에 사용되는 신경망의 한 종류입니다. Autoencoder는 입력 데이터를 저차원 표현으로 압축하는 Encoder와 압축된 표현에서 원래 데이터를 복원하는 Decoder로 구성됩니다. Autoencoder는 이미지 노이즈 제거나 이미지 압축과 같은 작업에 사용될 수 있지만, 학습된 저차원 표현에서 샘플링하여 생성적인 작업에도 사용될 수 있습니다.

Variational Autoencoders (VAEs)는 확률적 모델링을 포함하여 기본적인 Autoencoder 구조를 확장한 생성 모델의 일종입니다. VAE는 원본 데이터와 동일한 분포를 따르는 새로운 데이터를 생성하도록 설계되었습니다. VAE는 학습된 확률 분포에서 샘플링하는 reparameterization trick 기술을 사용하여 새로운 데이터를 생성할 수 있습니다. VAE는 일반적으로 이미지 생성 및 텍스트 생성과 같은 작업에 사용됩니다.

 

결론


결론적으로, 신경망은 생성적 인공지능의 중요한 구성 요소입니다. 이들은 기존 데이터를 기반으로 새로운 데이터를 생성하여 이미지 생성, 텍스트 생성, 음악 생성과 같은 작업을 가능하게 합니다. 생성적 인공지능에는 많은 흥미로운 응용 분야가 있지만, 윤리적 고려사항도 고려해야 합니다. 생성적 인공지능의 책임 있는 윤리적 응용 프로그램을 만들기 위해 이러한 고려사항을 인식하고 대처하는 것이 중요합니다.


반응형

관련글 더보기