더보기 ##필요 선행 지식 1. 파이썬 리스트(List) 정리 및 사용법 2. 파이썬 튜플(Tuple) 정리 및 사용법 3. 파이썬 문자열 처리 (연산, 인덱싱, 슬라이싱, 메서드) 4. 파이썬 딕셔너리(Dictionary) 정리 및 사용법 1. sorted() 함수란? 파이썬에서 데이터(리스트, 튜플, 문자열, 딕셔너리)를 정렬하는 가장 기본적인 방법 중 하나는 sorted() 함수를 사용하는 방법입니다. sorted 함수는 원본 데이터를 수정하지 않고 새로운 정렬된 리스트를 반환합니다. 기본 구문은 아래코드와 같습니다. iterable은 정렬할 데이터 나타냅니다. key는 정렬 기준을 설정하는 매개변수입니다. reverse는 정렬 방향을 설정하는 매개 변수로 내림차순(True), 오름차순(False)..
1. seq2seq이란? seq2seq(sequence-to-sequence) 모델은 한 시퀀스를 다른 시퀀스로 변환하는 작업을 수행하는 딥러닝 모델로, 주로 자연어 처리(NLP) 분야에서 활용됩니다. 이 모델은 인코더(Encoder)와 디코더(Decoder)라는 모듈을 가지고 있습니다. 그래서 seq2seq를 Encoder-Decoder 모델이라고도 합니다. 이 두 모듈이 서로 협력하여 입력 시퀀스를 원하는 출력 시퀀스로 변환합니다. 아래 이미지는 seq2seq를 간단하게 도식화한 모습입니다. 인코더는 입력 데이터를 인코딩하고, 디코딩은 인코딩된 데이터를 디코딩합니다. 쉽게 예를 들면 다음과 같습니다. 비밀편지를 쓸 때, 원래의 문장을 암호화해서 다른 사람이 쉽게 알아볼 수 없도록 바꾸는 과정이 필요합..
더보기 ##필요 선행 지식 1. 파이썬 리스트(List) 정리 및 사용법 1. max(), min() 함수란? 파이썬에서 객체(리스트, 튜플 등)의 최대값과 최소값을 찾는 가장 기본적인 방법 중 하나는 max()와 min() 함수를 사용하는 방법입니다. 기본 구문은 아래 코드와 같습니다. >>> max(iterable, *iterables, key=None, default=None) >>> min(iterable, *iterables, key=None, default=None) iterable은 찾을 대상인 하나의 반복 가능한 객체로 이 값은 필수입니다. *iterables은 추가적인 iterable로 이 값은 선택적입니다. key는 함수를 인자로 받아 각 요소의 정렬 순서를 결정하는데 사용됩니다. 기본..
1.type() 함수란? 파이썬에서 변수의 타입을 알아보는 가장 기본적인 방법 중 하나는 type() 함수를 사용하는 방법입니다. type() 함수의 기본 구문은 아래 코드와 같습니다. 코드에서 object는 타입을 알아볼 객체를 나타냅니다. >>> type(object) 2. type() 함수 사용 예시 2.1 변수 타입 확인 type()함수를 이용해 변수의 타입을 알아보는 방법은 아래 코드와 같습니다. 123의 정수 값이 할당된 variable을 type() 함수를 통해 자료형을 확인한 결과는 int이며 출력 값은 "The type of the variable is "입니다. variable = 123 var_type = type(variable) print("The type of the variab..
더보기 ##필요 선행 지식 1. 자료형 (Data Type)의 종류 2. 파이썬 숫자형(정수, 실수)과 사칙연산 3. 파이썬 문자열(Str) 사용과 포매팅 4. 파이썬 리스트(List) 정리 및 사용법 1. 자료형 변환 함수란? 파이썬에서 문자열, 실수, 정수를 다른 자료형으로 변환하는 가장 기본적인 방법은 int(), float(), str() 등의 함수를 사용하는 방법입니다. 기본 구문은 아래 코드와 같습니다. 코드에서 Object는 변환할 객체(정수, 실수, 문자열, 리스트 등) 입니다. >>> int(object) >>> float(object) >>> str(object) 2. 자료형 변환 함수 사용 예시 2.1 문자열을 정수로 변환하는 방법 int() 함수를 이용해 문자열을 정수로 변환하는 방..
1. Stacked RNN이란? Stacked RNN은 기본 RNN의 단순한 구조로 복잡한 문제를 해결하지 못하는 점을 보완하기 위해 개발되었습니다. Stacked RNN은 여러 개의 RNN층을 쌓아 구성합니다. 그래서 복잡한 문제에서 RNN보다 더 높은 성능을 보일 수 있었습니다. 2. Stacked RNN의 구조 Stacked RNN은 여러 개의 RNN 층이 쌓여 있는 구조입니다. 각 층의 출력은 다음 층의 입력으로 사용되며, 마지막 층의 출력이 최종 결과로 사용됩니다. 이렇게 층을 쌓음으로써 모델의 표현력을 높일 수 있습니다. Stacked RNN의 계산을 수식으로 표현하면 다음과 같습니다. 첫 번째 층 $$h_t^1 = f(W^1 * x_t + U^1 * h_{t-1}^1 + b^1)$$ 여기서 ..
더보기 ##필요 선행 지식 1. 파이썬 리스트(List) 정리 및 사용법 2. 파이썬 튜플(Tuple) 정리 및 사용법 3. 파이썬 딕셔너리(Dictionary) 정리 및 사용법 1. len() 함수란? 파이썬에서 객체의 길이(length)를 구하는 가장 기본적인 방법 중 하나는 len()함수를 사용하는 방법입니다. 기본 구문은 아래 코드와 같습니다. 코드에서 object는 리스트, 튜플, 문자열, 딕셔너리와 같은 객체입니다. >>> len(object) 2. len() 함수 사용 예시 2.1 len() 함수 문자열에서 사용 방법 문자열에서 len()함수를 이용해 길이를 구하는 방법은 아래 코드와 같습니다. "Hello World"의 문자열이 총 11개의 문자를 가지고 있기 때문에 출력 결과는 11이 됩..
1. print() 함수란? 파이썬에서 코드의 출력 결과를 보여주는 기본적인 방법 중 하나는 print() 함수를 사용하는 방법입니다. 기본 구문은 아래 코드와 같습니다. value는 출력할 값을 나타내며, 여러 개의 값을 출력 할 수도 있습니다. sep을 이용해 값을 구분할 문자열을 지정할 수 있습니다. end를 이용해 각 print() 호출의 끝에 나올 문자열을 지정할 수 있습니다. file을 이용해 결과를 출력할 파일을 지정할 수 있습니다. flush는 출력 버퍼를 즉시 비우는지 여부를 지정합니다. print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) 2. print() 함수 사용 예시 print() 함수의 가장 기본적인 사용법은 단..
더보기 ##필요 선행 지식 1. 파이썬 리스트(List) 정리 및 사용법 2. 파이썬 반복문 정리 및 사용법 1. Zip()함수란? zip() 함수란 인덱스에 있는 요소들을 결합하여 새로운 순회 가능한 객체를 생성하는 함수이다. 아래 코드와 같이 fruits와 prices 리스트에서 과일 이름과 가격을 매칭할 수 있습니다. #그림 >>> fruits = ['사과', '바나나', '토마토'] >>> prices = [3000, 2500, 4000] >>> for fruit, price in zip(fruits, prices): >>> print(fruit, price) #출력 결과 #사과 3000 #바나나 2500 #토마토 4000 zip() 함수를 이용해 fruits 리스트와 prices리스트를 새로운 ..
과거의 RNN 모델인 LSTM과 GRU는 문장의 끝 부분의 정보를 이용할 수 없어 개체명인식과 같은 문제에서 성능이 좋지 않았습니다. 이러한 한계를 극복하기 위해, 양방향 RNN 모델이 제안되었습니다. 양방향 RNN은 시퀀스의 이전 부분과 이후 부분을 결합하여 예측하기 때문에 더욱 정확한 결과를 얻을 수 있습니다. 예를 들어, 개체명인식에서 "black"이란 단어가 검은색을 의미하는지 사람이름을 의미하는지를 알기 위해서는 해당 단어 뒤에 단어들이 어떻게 쓰였는지를 고려해야합니다. 이러한 정보를 고려하여 예측하는 것이 양방향 RNN의 큰 장점입니다. 1. Bi-RNN의 개념 양방향 RNN은 Bi-RNN이라고도 불리며, 두 개의 독립적인 RNN을 사용하여 입력 시퀀스를 처리합니다. 하나의 RNN은 정방향으로..