분류 전체보기
-
[TensorFlow] 파이썬을 이용한 MNIST 분류 모델 만들기Python/딥러닝 2024. 7. 29. 17:43
텐서플로우를 이용한 MNIST 분류 모델 만들기본 내용은 텐서플로 2.0 시작하기: 초보자용 문서를 재구성해 제작했습니다.파이썬(Python)에서 이용할 수 있는 대표적인 딥러닝 플랫폼인 텐서플로우(TensorFlow)를 활용해, MNIST 데이터를 분류할 수 있는 딥러닝(Deep Learning) 모델을 만들어 보는 실습을 진행해 보겠습니다. 분류에 이용할 데이터는 MNIST 데이터셋인데요, 28*28px 크기의 흑백 이미지에 0에서 9까지의 숫자가 기록되어 있지요. 해당 데이터는 텐서플로우에서 기본 제공을 해 주기 때문에, tensorflow.keras.datasets.mnist.load_data() 함수를 이용해 불러올 수 있습니다. 데이터 전처리불러온 MNIST 데이터는 x_train, x_te..
-
[컴퓨터과학] 텍스트 인코딩 알아보기컴퓨터과학 2024. 7. 26. 17:29
텍스트 인코딩 알아보기컴퓨터는 모든 자료를 이진법으로 표시합니다. 그런데, 우리가 흔히 사용하는 텍스트 정보는 이진법으로 표시할 수 없지요. 그래서, 컴퓨터가 이해할 수 있는 언어와 사람이 이해할 수 있는 언어 사이의 관계를 정의하는 방법으로 텍스트 데이터를 표현할 수 있습니다. 이것이 바로 텍스트 인코딩(Text Encoding)이지요. 텍스트 인코딩을 위한 규격은 다양하게 마련되어 있는데, 우리나라에서 자주 볼 수 있는 규격은 UTF-8(Universal Coded Character Set + Transformation Format - 8-bit)과 EUC-KR(Extended Unix Code-Korea), CP949(Code Page 949)가 있습니다. 여기서, 한국어 문서는 주로 EUC-KR ..
-
데스크톱 컴퓨터의 메모리카드를 교체하는 방법 알아보기컴퓨터 상식 2024. 7. 20. 23:19
메모리카드를 교체 못한다고요?컴퓨터를 잘 다루면서도, 메모리카드(RAM)를 끼우는 방법에 대해서는 잘 모르는 분들이 있습니다. 지금은 옛날과 달라서, PC 부품을 분해하거나 조립하려면 정말 섬세하게 다뤄야 되는 수준까지는 아니기 때문에, 메모리카드 교체 또는 추가 방법 정도는 누구나 알아두시는걸 추천드립니다. 물론, 노트북의 경우에는 기기에 따라 정말 어렵거나 불가능할 수도 있기 때문에, 이번 글에서는 데스크톱 PC에 한정합니다. 컴퓨터에 따라 다르지만, 대부분의 데스크톱 PC는 케이스를 열면 이런 모습이 나옵니다. 물론, 이 사진은 십수 년 전의 컴퓨터라서 구형 부품이지만, 최근 시스템을 열어보더라도, 그보다 수 년 전의 컴퓨터를 뜯어보더라도 거의 똑같습니다. 즉, PC 부품 관련 상식은 한번 배워둔..
-
[TensorFlow] 단층 퍼셉트론과 MLP 구현해보기Python/딥러닝 2024. 7. 15. 17:11
퍼셉트론 알아보기퍼셉트론(Perceptron)이란, 고전적인 인공 신경망(Artificial Neural Network, ANN) 알고리즘입니다. 여러 입력을 받은 뒤, 하나의 결과를 반환하는 방식으로 동작하지요. 실제 신경세포의 동작(물론 극히 일부만)을 본따서 만들었다는 특징도 있고, 한번 사장되었던 기술을 현대 인공지능의 주류로 만들어 놓았다는 특징도 있는 재미있는 개념입니다. 이번에는 간단한 파이썬(Python) 코드로 퍼셉트론을 이용해서, 논리 회로를 구현하는 작업을 해 보겠습니다. 단층 퍼셉트론 구현하기단층 퍼셉트론(Single Layer Perceptorn)이란, 입력과 출력의 단순한 구조로 구현한 퍼셉트론을 이릅니다. 이는 $y=wx+b$ 형태의 문제를 풀 수 있는 선형 분류기로 표현되지..
-
[컴퓨터과학] 논리 회로(Logic Gate) 알아보기컴퓨터과학 2024. 7. 15. 17:08
게이트 알아보기흔히 게이트라고 표현하는 논리 회로(Logic Gate)는 간단한 논리 연산을 진행한 뒤, 결과를 반환해 주는 물리적 장치를 이릅니다. 이 게이트를 적절한 형태로 배치한다면 많은 문제를 해결할 수 있지요. 이번에는 파이썬(Python)을 이용해서 게이트를 소프트웨어적으로 구현해 보도록 하겠습니다. 게이트의 종류대표적인 게이트로는 AND, OR, XOR, NAND가 있습니다. 각 게이트는 두 개의 부울(bool)을 입력받을 수 있고, 하나의 부울 데이터를 반환해 줍니다. 만약 A, B 데이터를 입력받는다고 했을 때, 각각의 게이트가 어떤 반환값을 주는지는 아래 진리표를 참고해 주세요. 게이트의 구현파이썬 코드로 게이트를 구현하는 것은 간단한 연산자 혹은 조건문을 활용하면 됩니다. 아래에..
-
[pickle] 파이썬에서 객체 내보내기, 직렬화 알아보기Python/파이썬 기초 2024. 7. 5. 10:24
Pickle을 이용한 객체 내보내기파이썬(Python)에는 피클(pickle)이라고 하는 모듈이 있습니다. 이 모듈은 파이썬에서 선언한 객체를 파일로 내보내거나 불러오는데 쓰이지요. 간단히 말해서, 메모리에 있는 정보를 그대로 저장장치에 쓰고 읽을 수 있도록 도와줍니다. 이 개념을 간단하게 정리하자면, 아래와 같습니다. 직렬화(serialization) = 피클링(pickling): 객체가 바이트 스트림으로 변환되는 절차입니다. 이렇게 변환된 바이트 스트림 데이터는 그대로 파일로 내보낼 수 있지요.역직렬화(deserialization) = 언피클링(unpickling): 피클링의 반대 연산입니다. 피클링을 활용할 경우, 데이터의 형태에 상관없이 파이썬에서 호환되는 피클 파일(주로 pkl 확장자를 이용합니..
-
[Faiss] 파이스를 이용한 문서 검색 시스템 만들기Python/자연어처리 2024. 6. 28. 12:57
Faiss를 이용한 문서 검색 시스템 만들기Faiss(Facebook AI Similarity Search)란 데이터의 유사도 검색 및 벡터 클러스터링을 위한 라이브러리라고 합니다. 간단히 말해, 자연어 유사도를 기반으로 문서 검색을 구현할 수 있다는 말이지요. 유사도 검색이라고 하면, 예전에도 이와 같은 기능을 구현하는 라이브러리가 없었던건 아니지만, 파이스를 이용할 경우 성능이 제법 좋고, 옵션을 자유자재로 설정할 수 있기 때문에 문서 검색 시스템을 구현할 때 이만한 선택이 없어 보입니다. 프로그램 구성이번에는 파이썬(Python)을 이용한 문서 검색 시스템을 만들어 보겠습니다, 구현 방법은 간단한데요, 원하는 문서를 읽은 뒤, 적당한 크기로 자르고 임베딩을 한 다음 Faiss 데이터베이스를 만들어 ..
-
[JavaScript] Crypto 라이브러리를 이용한 암호화 알고리즘 이용하기Node.js/자바스크립트 기초 2024. 6. 25. 17:06
Crypto 라이브러리를 이용한 암호화 알고리즘 이용하기공개된 데이터 또는 통신 알고리즘을 관리할 때는 암호화 알고리즘을 이용하는 것이 중요합니다. 암호화란, 정보를 전달할 때 특별한 지식이 없는 경우 해독하지 못하도록 하는 보안 기법이랍니다. 예를 들어, 암호화된 데이터를 읽고 싶은 사용자는 지정된 암호화 키를 사용해 암호화된 데이터에 액세스해야 하지요. 많이 사용되는 암호화 알고리즘은 MD5, SHA, AES 등이 있습니다. 각 방식의 장단점과 알고리즘에 대해 관심이 있다면, 암호학 및 암호화 알고리즘에 대해 공부해 보시기 바랍니다. crypto이번에는 Node.js를 이용해서 손쉽게 암호화 및 복호화를 할 수 있도록 하는 Crypto 라이브러리에 대해 알아보겠습니다. 이 라이브러리는 다양한 암호화 ..