nhờ Trí tuệ nhân tạo tạo thử mạng neural, đọc file , QR code (12 người xem)

Người dùng đang xem chủ đề này

anhtuanle123

Thành viên tiêu biểu
Tham gia
8/6/09
Bài viết
435
Được thích
288
tạo thử code nhận diện !
ước mơ thời trẻ ^^
1787052034485.png1787052070783.png
 

File đính kèm

Chủ đề này hay quá bác ơi! Bác đã chạy test thử với tập dữ liệu nào chưa, tốc độ xử lý của Excel có bị lag không?

Thường thì code VBA do AI sinh ra (kiểu như ChatGPT) khá tốt về mặt logic, nhưng khi xử lý thuật toán nặng như Neural Network thì hay bị lỗi ở khâu khai báo mảng (Array) hoặc lồng quá nhiều vòng lặp. Cứ nạp dữ liệu lớn vào là Excel rất dễ bị đơ (Not Responding).

Bác cứ share nguyên đoạn code hoặc đính kèm file demo lên đây để anh em cùng chạy thử và tối ưu tốc độ xem sao nhé. Hóng kết quả từ bác!
 
mình chỉ trò chuyện với AI , rùi nó cho code chạy thôi ah, code có trong file macro đính kèm bên trên, mình sẽ vặn vẹo nó thêm, nếu có code ngon hơn sẽ share ^^
--------------------------------------------------------------
hỏi : đoạn code này có thể dùng để làm các ứng dụng như nhận diện vân tay của vài nghìn người hoặc nhận diện khuôn mặt không ?
--------------------------------------------------------------
Câu trả lời ngắn gọn là: KHÔNG, đoạn code này không thể dùng để nhận diện vân tay hay khuôn mặt cho vài nghìn người trong thực tế.

Mặc dù đoạn code của bạn chứa những "hạt nhân" toán học cơ bản nhất của trí tuệ nhân tạo (lan truyền tiến, lan truyền ngược, hàm kích hoạt), nhưng để giải quyết bài toán phức tạp như vân tay hay khuôn mặt, người ta cần những kiến trúc mạng và nền tảng hoàn toàn khác.

Dưới đây là 4 lý do cốt lõi giải thích tại sao đoạn code này không đáp ứng được:

1. Kiến trúc mạng (MLP vs. CNN)​

  • Code của bạn (MLP): Đang sử dụng kiến trúc Multi-Layer Perceptron. Nhược điểm lớn nhất của nó là "dàn phẳng" bức ảnh (biến ma trận 8x10 thành một mảng dài 80 phần tử). Việc này phá hủy hoàn toàn cấu trúc không gian 2D của hình ảnh. Hai điểm ảnh nằm cạnh nhau trên trục dọc sẽ bị đẩy ra xa nhau trong mảng 1D, khiến AI không hiểu được các đường nét, góc cạnh.
  • Thực tế: Hệ thống nhận diện khuôn mặt/vân tay bắt buộc phải dùng Mạng nơ-ron tích chập (CNN - Convolutional Neural Networks). CNN sử dụng các bộ lọc (filters) quét qua bức ảnh để nhận diện được các đặc điểm từ nhỏ (cạnh, góc, đường vân) đến lớn (mắt, mũi, vòng xoáy vân tay) mà không làm mất thông tin không gian.

2. Sự nhạy cảm với vị trí (Translation Invariance)​

  • Code của bạn: Nếu bạn vẽ chữ "A" nhưng dịch nó sang phải 1 pixel hoặc hơi nghiêng, mô hình này khả năng cao sẽ nhận diện sai hoàn toàn. Nó học vẹt vị trí pixel cố định (pixel số 15 phải là màu đen).
  • Thực tế: Khuôn mặt hay ngón tay của người dùng không bao giờ đặt ở vị trí hoàn hảo giống nhau 100% mỗi lần quét (ánh sáng khác, góc nghiêng khác, xa gần khác). Kiến trúc của bạn không có khả năng chống chịu sự thay đổi này.

3. Giới hạn phần cứng và Ngôn ngữ (Excel VBA)​

  • Sức mạnh tính toán: Nhận diện chữ 8x10 pixel cần $80 \times 64 = 5.120$ trọng số. Tuy nhiên, một ảnh vân tay hoặc khuôn mặt cơ bản nhất cũng phải đạt độ phân giải tối thiểu 112x112 pixel (12.544 đầu vào). Nếu đưa vào mạng để nhận diện vài nghìn người, số lượng trọng số sẽ lên tới hàng chục triệu.
  • Tốc độ: Chạy vài triệu phép tính nhân ma trận bằng vòng lặp For của VBA trên CPU sẽ khiến Excel "treo" vĩnh viễn. Trong thực tế, quá trình này cần được tính toán song song trên các card đồ họa (GPU) chuyên dụng thông qua C++ hoặc Python.

4. Cách thức phân loại (Classification vs. Embedding)​

  • Code của bạn: Đang dùng Softmax để phân loại trực tiếp. Tức là đầu ra có 4 lớp (A, B, D, O). Nếu có 5.000 người, bạn cần 5.000 nút đầu ra. Nếu thêm 1 người mới, bạn phải đập đi huấn luyện lại mạng từ đầu.
  • Thực tế: Các hệ thống FaceID không phân loại trực tiếp như vậy. Chúng dùng AI để nén bức ảnh khuôn mặt thành một "vector đặc trưng" (embedding) gồm ví dụ 512 con số. Khi quét mặt bạn, nó tạo ra vector này và đối chiếu với cơ sở dữ liệu xem có vector nào "gần giống" nhất (tính bằng khoảng cách toán học). Việc này cho phép thêm người mới vào hệ thống mà không cần huấn luyện lại AI.
Tóm lại: Đoạn code VBA của bạn là một tài liệu học tập xuất sắc để hiểu cách một Mạng nơ-ron hoạt động "dưới mui xe". Tuy nhiên, để làm ứng dụng thực tế về thị giác máy tính, bạn sẽ cần chuyển sang ngôn ngữ Python, sử dụng thư viện PyTorch / TensorFlow, và học về kiến trúc mạng CNN / ResNet.

--------------------------------------------------------------------
Hỏi : vậy nếu chỉ viết code VBA Excel thì mạng Newral làm được những gì ?
--------------------------------------------------------------------
Dù bị giới hạn về tốc độ tính toán, một Mạng nơ-ron (Neural Network) được viết thuần bằng VBA Excel vẫn hoàn toàn xử lý tốt các bài toán Machine Learning dạng dữ liệu bảng (Tabular Data) hoặc chuỗi thời gian đơn giản—nơi dữ liệu đầu vào là các con số, thuộc tính hoặc chỉ số định lượng thay vì hàng triệu pixel ảnh.

Dưới đây là những ứng dụng thực tế và khả thi nhất mà bạn có thể xây dựng:

1. Dự báo & Phân tích Chuỗi thời gian (Time-Series Forecasting)​

  • Dự báo Doanh thu / Cầu hàng hóa: Dự đoán doanh số bán hàng tháng tới dựa trên dữ liệu lịch sử (doanh thu các tháng trước, chi phí marketing, yếu tố mùa vụ).
  • Dự báo Tài chính & Bất động sản: Dự đoán giá nhà dựa trên diện tích, số phòng, vị trí; hoặc dự đoán chỉ số chứng khoán/tỷ giá ngắn hạn dựa trên các chỉ báo kỹ thuật.

2. Phân loại & Chẩn đoán (Classification Problems)​

  • Đánh giá Rủi ro Tín dụng (Credit Scoring): Phân loại hồ sơ vay tiền thành "An toàn" hay "Rủi ro" dựa trên thu nhập, độ tuổi, lịch sử dư nợ và số người phụ thuộc.
  • Dự đoán Tỷ lệ Rời bỏ của Khách hàng (Customer Churn): Phân loại khách hàng nào có khả năng hủy dịch vụ dựa trên tần suất sử dụng, số lần khiếu nại và số tiền chi trả.
  • Chẩn đoán Y tế cơ bản: Phân loại khả năng mắc bệnh (ví dụ: tiểu đường, tim mạch) dựa trên các chỉ số sinh hóa (huyết áp, chỉ số BMI, lượng đường trong máu).

3. Nhận dạng Mẫu đơn giản (Simple Pattern Recognition)​

  • Nhận dạng Chữ số / Ký tự viết tay cỡ nhỏ: Nhận diện chữ số từ $0$ đến $9$ hoặc ký tự đơn giản trên ma trận pixel nhỏ (như ma trận $8 \times 8$ hoặc $10 \times 10$ tương tự ví dụ của bạn).
  • Phân loại Cảm xúc Văn bản đơn giản (Sentiment Analysis): Đánh giá bình luận của khách hàng là "Tích cực" hay "Tiêu cực" dựa trên tần suất xuất hiện của các từ khóa được mã hóa thành số (Bag-of-Words).

4. Bảng điều khiển Giảng dạy & Trực quan hóa AI (Educational Dashboard)​

  • Mô phỏng Quá trình Học (Training Visualizer): Đây là điểm mạnh nhất của Excel. Bạn có thể vẽ đồ thị biểu diễn hàm mất mát (Loss Curve) giảm dần qua từng vòng lặp (Epoch), hoặc hiển thị sự thay đổi của từng trọng số (Weights) trực tiếp lên ô tính Excel theo thời gian thực để phục vụ giảng dạy và nghiên cứu toán học.

Bảng tóm tắt giới hạn năng lực của Mạng Nơ-ron trên VBA​

Loại bài toánKhả năng của VBA Neural NetworkVí dụ thực tế
Dữ liệu bảng (Numbers/Table)Rất tốt (Dưới 10.000 dòng, 20-50 thuộc tính)Dự báo doanh thu, chấm điểm tín dụng
Dữ liệu Ký tự / Ảnh nhỏKhá (Ảnh ma trận dưới $16 \times 16$ pixel)Nhận diện chữ số viết tay đơn giản
Ảnh lớn / Video (FaceID)Không thể (Do quá tải bộ nhớ & tốc độ CPU)Nhận diện khuôn mặt, vân tay thực tế
Xử lý Ngôn ngữ lớn (LLM)Không thể (Yêu cầu hàng tỷ trọng số)ChatGPT, DeepSeek
 

[Chia sẻ] "Bẻ khóa" thuật toán JPEG và kết xuất hình ảnh bằng Pure VBA 100%​

Chào mọi người, hôm nay mình muốn chia sẻ một dự án kỹ thuật mang tính thử thách cực cao: Một bộ giải mã hình ảnh JPG hoàn chỉnh (JPEG Decoder) được viết bằng 100% Pure VBA, không sử dụng bất kỳ thư viện ngoài (DLL), API Windows, hay công cụ hỗ trợ nào khác. Chỉ VBA và toán học thuần túy!

Tầm vóc của dự án​

Trong lập trình, việc gọi hàm để đọc một bức ảnh là thao tác cơ bản. Tuy nhiên, tự tay viết mã để "mổ xẻ" tệp nhị phân JPG, can thiệp vào từng bit (0 và 1) và ép Excel tự tính toán để đổ màu ra từng ô (cell) lại là một câu chuyện hoàn toàn khác. VBA vốn không được thiết kế để xử lý luồng nhị phân tốc độ cao hay giải các ma trận lượng giác phức tạp.

Dự án này là minh chứng cho việc khi chúng ta thấu hiểu thuật toán cốt lõi, giới hạn của ngôn ngữ lập trình chỉ là rào cản mỏng manh. Nó biến Excel từ một công cụ bảng tính trở thành một lõi xử lý đồ họa (GPU) sơ khai.

Lịch sử định dạng JPEG​

Ra đời vào năm 1992 bởi Joint Photographic Experts Group, JPEG đã tạo ra một cuộc cách mạng định hình lại toàn bộ Internet. Thay vì lưu trữ cồng kềnh như định dạng BMP, JPEG sử dụng cơ chế nén "có tổn hao" (lossy compression) dựa trên sự đánh lừa thị giác của mắt người. Nhờ khả năng ép dung lượng xuống mức tối thiểu mà vẫn giữ được độ chân thực, JPEG đã giữ vững ngôi vương là chuẩn hình ảnh phổ biến nhất thế giới suốt hơn 3 thập kỷ.

Giải phẫu thuật toán cốt lõi​

Để biến hàng triệu ký tự nhị phân vô nghĩa thành một bức ảnh hiển thị hoàn hảo trên Excel, đoạn code này phải tái hiện lại 4 thuật toán kinh điển nhất của khoa học máy tính:

  • Không gian màu YCbCr: Thay vì lưu màu hệ RGB (Đỏ, Xanh lá, Xanh dương), JPG lưu dữ liệu dưới dạng Độ sáng (Luma) và Độ lệch màu (Chroma) để nén các chi tiết màu sắc mà mắt người kém nhạy cảm.
  • Biến đổi Cosin rời rạc ngược (IDCT): Đây là "trái tim" của JPEG. Thuật toán này sử dụng các phép toán lượng giác để chuyển đổi dữ liệu từ không gian tần số (bước sóng ánh sáng) trở lại thành ma trận điểm ảnh 8x8.
  • Giải lượng tử hóa (Dequantization): Sử dụng các bảng lượng tử (Quantization Tables) để khôi phục lại các hệ số đã được làm tròn trong quá trình nén.
  • Giải mã Huffman (Huffman Decoding): Một thuật toán nén không tổn hao vô cùng chặt chẽ. Bộ đọc phải xử lý từng bit đơn lẻ đi qua một cây nhị phân phức tạp; chỉ cần lệch 1 bit hoặc bỏ lỡ một cờ đồng bộ (Restart Marker), toàn bộ bức ảnh sẽ bị vỡ vụn.
Hy vọng đoạn code này sẽ giúp các bạn yêu thích lập trình có một tài liệu tham khảo thực tế về cách dữ liệu số hoạt động ở tầng sâu nhất.

mình copy paste mà đọc lại còn không hiểu :cool::cool::cool::cool::cool::cool::cool:

1789474409291.png
 

File đính kèm

Lần chỉnh sửa cuối:

[Chia sẻ] "Bẻ khóa" thuật toán tạo QR code bằng Pure VBA 100%
TỪ NHỮNG Ô CỜ ĐEN TRẮNG ĐẾN CẢ THẾ GIỚI KỶ NGUYÊN SỐ: BẢN HÙNG CA MANG TÊN QR CODE​

Có bao giờ bạn đứng trước một cây ATM quét mã chuyển tiền, hay lướt qua một biển quảng cáo giữa ngã tư sầm uất và tự hỏi: "Làm sao những ô vuông đen trắng hỗn loạn trông như một trò chơi xếp hình bị lỗi kia lại có thể chứa đựng cả thế giới thông tin bên trong?"

Hôm nay, khi vừa đặt dòng code cuối cùng cho dự án tự dựng động cơ mã hóa QR Code thuần (Pure Implementation) chuẩn ISO/IEC 18004 mà không thèm xài bất kỳ thư viện hay API có sẵn nào, tôi muốn ngồi lại và kể cho các bạn nghe một câu chuyện. Câu chuyện về một phát minh thầm lặng đã và đang tái định hình cách toàn nhân loại kết nối giữa thế giới thực và không gian số.

1. CÂU CHUYỆN LỊCH SỬ: KHI MÃ BARCODE TRUYỀN THỐNG BỊ "QUÁ TẢI"​

Lội ngược dòng thời gian về năm 1994, tại nhà máy sản xuất phụ tùng ô tô DENSO WAVE (một công ty con của tập đoàn Toyota) ở Nhật Bản.

Lúc bấy giờ, các công nhân phải gồng mình chịu đựng một cơn ác mộng: Một linh kiện ô tô cần dán tới 5–10 mã vạch truyền thống (Barcode 1D) mới chứa đủ thông tin. Quá trình sản xuất bị nghẽn lại chỉ vì các tay quét mã không thể đọc kịp. Hơn nữa, mã vạch 1D chỉ lưu được tối đa khoảng 20 ký tự chữ và số theo chiều ngang.

Một kỹ sư trẻ có tên Masahiro Hara đã được giao nhiệm vụ giải bài toán hóc búa này.

Vào một giờ nghỉ trưa, khi đang chăm chú quan sát bàn cờ Go (Cờ vây) với các quân cờ đen trắng đan xen linh hoạt, một tia sáng đã lóe lên trong đầu Hara: "Tại sao lại chỉ mã hóa thông tin theo 1 chiều ngang? Nếu mã hóa theo cả 2 chiều (ngang và dọc), dung lượng lưu trữ sẽ tăng lên gấp hàng trăm lần!"

Sau nhiều tháng miệt mài, Masahiro Hara và các cộng sự đã cho ra đời QR Code (Quick Response Code - Mã phản hồi nhanh). Điểm thiên tài nhất của Hara không chỉ là thuật toán, mà là quyết định mang tính lịch sử của DENSO WAVE: Công khai bản quyền thuật toán QR Code cho toàn thế giới sử dụng miễn phí!

2. BÊN TRONG CỖ MÁY TOÁN HỌC: CHUẨN ISO/IEC 18004 BẤT BẠI​

Nhìn bên ngoài, QR Code chỉ là những đốm đen trắng ngẫu nhiên. Nhưng bên dưới "lớp da" đó là một kiệt tác toán học và hình học cực kỳ khắt khe mà chuẩn ISO/IEC 18004 quy định:

  • Ba mắt thần định vị (Finder Patterns): Ba khối vuông lớn ở góc giúp máy quét xác định ngay lập tức tọa độ, góc nghiêng và khoảng cách của mã, dù bạn có cầm điện thoại nghiêng 180 độ.
  • Toán trường Galois GF(2⁸) & Reed-Solomon: Đây là trái tim của khả năng "sửa lỗi" thần kỳ. Ngay cả khi mã QR của bạn bị rách, dính bẩn hay mất tới 30% diện tích, các đa thức toán học vẫn tự bù đắp bit thiếu và giúp máy đọc chính xác 100%.
  • Ma trận lặn Ziczac (Zigzag Placement): Toàn bộ chuỗi dữ liệu sau khi biến thành các Byte nhị phân sẽ được "lặn" theo đường ziczac lùi từ phải sang trái, khéo léo luồn lách qua các vùng bảo lưu định dạng.
  • Đánh giá mặt nạ (Masking Evaluation 0–7): Để tránh việc xuất hiện các mảng màu đen hoặc trắng quá lớn gây chói cho camera, thuật toán sẽ thử 8 mặt nạ nhị phân khác nhau và chọn ra mặt nạ có điểm phạt (Penalty Score) thấp nhất.

3. TẦM QUAN TRỌNG VÀ HƠI THỞ CUỘC SỐNG​

QR Code không chỉ là một công nghệ mã hóa. Nó là chiếc cầu nối Vô hình (Invisible Bridge) giữa Thực và Ảo:

  • Tài chính & Thanh toán không tiền mặt: Từ chiếc xe bánh mì lề đường đến các trung tâm thương mại sang trọng, một cú chạm QR đã thay thế hoàn toàn ví tiền truyền thống.
  • Truy xuất nguồn gốc & Logistics: Quản lý hàng triệu kiện hàng toàn cầu, kiểm tra nguồn gốc nông sản từ trang trại đến bàn ăn.
  • Kết nối y tế & Xã hội: Tấm thẻ căn cước, hộ chiếu vắc-xin, định danh điện tử... giúp xã hội vận hành mượt mà hơn bao giờ hết.

4. TỪ LÝ THUYẾT ĐẾN DỰ ÁN "PURE IMPLEMENTATION"​

Là một người đam mê thuật toán, thay vì chọn đường tắt bằng cách gọi các thư viện ngoài hay Cloud API có sẵn, tôi đã chọn con đường gian nan hơn: Tự tay viết lại toàn bộ cỗ máy mã hóa QR Code theo chuẩn ISO/IEC 18004 thuần (Pure Algorithm) chạy trực tiếp trên VBA Excel / Google Apps Script!

Cảm giác tự tay mình điều khiển từng bit nhị phân, tính toán từng hệ số đa thức Reed-Solomon trên trường Galois GF(2⁸), rồi chứng kiến các ô cờ Excel tự đổi màu thành một mã QR xịn đéc mà camera điện thoại quét cái "TÍT" ăn ngay... đó là một niềm vui công nghệ thật khó tả!

Dự án này là minh chứng rằng: Chỉ cần nắm chắc bản chất toán học và thuật toán cốt lõi, bạn có thể biến những công cụ tưởng chừng như đơn giản nhất thành những cỗ máy công nghệ phi thường.

Toàn bộ Mã nguồn & Thuật toán của dự án đã được tôi đóng gói hoàn chỉnh. Mời anh em yêu thuật toán cùng vào vạch lá tìm sâu, đóng góp ý kiến và trải nghiệm thử nhé!


1789787343203.png
 

File đính kèm

Bài viết mới nhất

Back
Top Bottom