본문 바로가기

취업 블로그548

[생성 신경망] 와서스테인 GAN (Wasserstein GAN, WGAN) - 이론 WGAN (Wasserstein GAN) 이번 시간에는 DCGAN에 이어서 WGAN (Wasserstein GAN)에 대해서 알아보도록 하겠습니다. WGAN은 기존 GAN의 몇 가지 문제점을 개선하기 위해 설계된 신경망 모델입니다. 이 모델은 Wasserstein 거리를 사용하여 두 분포 간의 거리를 측정합니다. 이 새로운 접근 방식은 GAN의 학습 과정을 더 안정적으로 만들고 더 높은 품질의 결과를 생성할 수 있게 하였습니다. 논문 : https://arxiv.org/pdf/1701.07875.pdf 그럼, 우선적으로 와서스테인 GAN에 대해서 살펴보기 전에, 기존의 GAN에서 발생하는 문제점들을 살펴보도록 하겠습니다. GAN은 생성 모델링 분야에서 커다란 혁신이지만 훈련이 어렵기로 잘 알려진 모델입니.. 2024. 4. 19.
[문제 풀이 20] 코드 트리 - 연결된 칸 찾기 연결된 칸 찾기 문제 유형 : DFS 사용언어 : Python 난이도 : 실버 1 출처 : 코드 트리 def dfs(grid, visited, x, y, n): stack = [(x, y)] size = 0 # 연결된 1의 개수를 세는 변수 while stack: cx, cy = stack.pop() if visited[cx][cy]: continue visited[cx][cy] = True size += 1 # 상, 하, 좌, 우 네 방향으로 이동 가능 for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]: nx, ny = cx + dx, cy + dy if 0 2024. 4. 19.
[문제 풀이 19] 코드 트리 - 구역마다 다른 드랍 아이템 구역마다 다른 드랍 아이템 문제 유형 : Greedy, Graph 사용언어 : Python 난이도 : 실버 4 출처 : 코드 트리 https://www.codetree.ai/training-field/search/problems/different-area-drop-item?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai def solve(N, M, pairs): graph = {} for a, b in pairs: if a not in graph: graph[a] = [] if b n.. 2024. 4. 18.
[문제 풀이 18] 코드 트리 - 정수 두 개의 합 정수 두 개의 합 문제 유형 : HashMap 사용언어 : Python 난이도 : 실버 4 출처 : 코드 트리 https://www.codetree.ai/training-field/search/problems/sum-of-two-integers?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai n = int(input()) m = int(input()) arr = list(map(int, input().split())) def count_sort(arr, m): hash_table = .. 2024. 4. 18.
[생성 신경망] DCGAN 모델 구현 Deep Convolutional GAN (DCGAN) 실습 이번에는 지난 시간에 실습 했었던 GAN 모델의 업그레이 버전인 DCGAN 모델을 구현해보도록 하겠습니다. 이전에 GAN 모델은 DNN 모델을 적용했다면 DCGAN 모델은 이름 그대로 CNN 모델을 적용했다는 것을 알 수 있습니다. 거의 예전 모델에서 신경망 모델만 바뀌었다고 생각하시면 됩니다!. 그러면 아래를 통해 모델 구현 환경 및 코드를 살펴보고 실습을 수행하도록 하겠습니다. 대부분의 코드는 이전 GAN 실습과 거의 유사하기 때문에 설명이 겹치는 부분은 생략하도록 하겠습니다. 그래도 궁금하신 분들이 있다면 아래의 이전 GAN 실습을 참고해주세요! Development Environment : COLAB (T4 GPU) Language : .. 2024. 4. 18.
[문제 풀이 17] 코드 트리 - 연결된 그래프 연결된 그래프 문제 유형 : DFS 사용언어 : Python 난이도 : 실버 3 출처 : 코드 트리 https://www.codetree.ai/training-field/search/problems/connected-graph?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai n, m = tuple(map(int, input().split())) graph = [[] for _ in range(n+1)] check = [False for _ in range(n+1)] vex_cnt =0.. 2024. 4. 18.
[생성 신경망] GAN 모델 구현 GAN 실습 지난 시간에는 적대적 생성 신경망 (Generative Adversarial Network, GAN)에 대해 간단한 이론을 살펴보았습니다. 지난 글에서는 이미 이론을 살펴보았으니, 직접 모델을 구현해봐야겠지요? 아래를 통해 모델 구현 환경 및 코드를 살펴보면서 과정을 설명하도록 하겠습니다. Development Environment : COLAB (T4 GPU) Language : Python Framework : Tensorflow Model : GAN (based Deep Neural Network) 참고 : https://thebook.io/080324/0306/ 실습 코드 : https://github.com/Muns91/Generative-Adversarial-Network/tree.. 2024. 4. 17.
[문제 풀이 16] 프로그래머스 - 카드 뭉치 카드 뭉치 문제 유형 : 큐 사용언어 : Python 난이도 : LV. 1 출처 : 프로그래머스 https://school.programmers.co.kr/learn/courses/30/lessons/159994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(cards1, cards2, goal): for g in goal: if len(cards1) > 0 and g == cards1[0]: cards1.pop(0) elif len(cards2) > 0 and g == cards2[0]: cards2.pop(0) else: ret.. 2024. 4. 17.
[문제 풀이 15] 코드 트리 - 섞기 전 카드 위치 섞기 전 카드 위치 문제 유형 : Simulation 사용언어 : Python 난이도 : 실버 5 출처 : 코드 트리 https://www.codetree.ai/training-field/search/problems/card-position-before-shuffling?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai n = int(input()) # Before shuffle location = list(map(int, input().split())) card = list(map(i.. 2024. 4. 17.
[생성 신경망] 적대적 생성 신경망 (Generative Adversarial network, GAN) - 이론 Generative Adversarial Network, GAN 1. GAN의 정의 적대적 생성 신경망(Generative Adverarial Network, GAN)은 인공지능 분야에서 사용되는 딥러닝 모델의 일종으로 두 개의 신경망이 서로 경쟁하면서 학습하는 구조를 가지고 있습니다. 이 두 신경망은 각각 생성자(Generative)와 판별자(Discriminator)로 불립니다. 생성자는 진짜와 구분이 어려운 가짜 데이터를 생성하고 판별자는 입력된 데이터가 진짜인지 가짜인지를 판별합니다. 위 과정을 통해 생성자는 점점 더 정교한 가짜 데이터를 만들어내며, 판별자는 더 정확하게 진위를 구분하게 됩니다. 2. 탄생 배경 GAN은 2014년 Ian Goodfellow에 의해 처음 제안되었습니다. 당시 기계.. 2024. 4. 16.
반응형