Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 40 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
40
Dung lượng
4,76 MB
Nội dung
i TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN NHẬP MÔN NHẬP MÔN HỌC MÁY ĐỀ TI: NHẬN DIỆN CHỮ VIẾT TAY BẰNG NEUTRAL NETWORK Sinh viên thực : LÊ MINH PHÚC LÊ HỒNG PHONG NGUYỄN ĐỨC THỊNH Giảng viên hướng dẫn : ĐO NAM ANH Ngành : CÔNG NGHỆ THÔNG TIN Chuyên ngành : QUẢN TRỊ AN NINH MẠNG Lớp : D13QTANM Khóa : D13 Hà Nội, tháng 10 năm 2020 MỤC LỤC LỜI CẢM ƠN LỜI MỞ ĐẦU CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 1.1.Giới thiệu toán nhận dạng 1.1.1.Các giai đoạn phát triển 1.2.Các bước xử lý cho toán nhận dạng hoàn chỉnh 1.3.Kết luận chương CHƯƠNG 2: MƠ HÌNH MẠNG NEURON VÀ MƠ HÌNH HỌC SÂU .11 2.1.Tổng quan mơ hình mạng neuron 11 2.1.1.Giới thiệu mạng Neuron .11 2.1.1.1.Định nghĩa: .11 2.1.1.2.Lịch sử phát triển mạng neuron .11 2.1.1.3.So sánh mạng neuron với máy tính truyền thống 14 2.1.1.4.Hoạt động mạng neuron 15 2.1.2.Mơ hình huấn luyện toán nhận dạng 26 2.1.2.1.Mạng neuron toán phân loại mẫu .26 2.1.2.2.Khả học tổng quát hóa .27 2.1.2.3.Các phương pháp huấn luyện mạng 27 2.2.Mơ hình học sâu 29 2.2.1.Mạng nhiều tầng truyền thẳng (MLP) .29 2.3.Kết luận chương 34 CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH THỬ NGHIỆM .35 3.1.Dữ liệu thực nghiệm 35 3.2.Huấn luyện mơ hình kết thực nghiệm với mơ hình MLP 35 3.2.1.Mơ hình huấn luyện 35 3.2.2.Các bước thực nghiệm .36 KẾT LUẬN CHUNG 40 TÀI LIỆU THAM KHẢO 41 LỜI CẢM ƠN LỜI CẢM ƠN Lời đầu tiên, em xin chân thành gửi lời cảm ơn tới thầy cô giáo Trường Đại học Điện Lực nói chung thầy giáo Khoa Cơng nghệ thơng tin nói riêng tận tình giảng dạy, truyền đạt cho chúng em kiến thức kinh nghiệm quý báu suốt trình học Đặc biệt, chúng em xin gửi lời cảm ơn đến Thầy Đào Nam Anh - giảng viên Khoa Công nghệ thông tin - Trường Đại học Điện Lực Thầy tận tình theo sát giúp đỡ, trực tiếp bảo, hướng dẫn suốt trình nghiên cứu học tập chúng em Trong thời gian học tập với thầy, nhóm chúng em khơng tiếp thu thêm nhiều kiến thức bổ ích mà cịn học tập tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc, hiệu Đây điều cần thiết cho chúng em trình học tập công tác sau Do thời gian thực có hạn kiến thức cịn nhiều hạn chế nên làm chúng em chắn không tránh khỏi thiếu sót định Em mong nhận ý kiến đóng góp thầy giáo bạn để em có thêm kinh nghiệm tiếp tục hồn thiện đồ án Chúng em xin chân thành cảm ơn! LỜI MỞ ĐẦU Nhận dạng chữ viết tay tốn khó lớp tốn nhận dạng chữ, ln thu hút nhiều quan tâm nghiên cứu nhà khoa học Đặc biệt vài thập niên gần đây, thúc đẩy q trình tin học hóa lĩnh vực, ứng dụng nhận dạng chữ có nhiều ý nghĩa sử dụng cho toán thực tế Cũng nhiều toán nhận dạng tiếng nói, hình ảnh… khác, độ xác hệ thống tiếp tục cần phải cải thiện nhằm vươn tới khả nhận dạng giống người Tuy nhiên, với toán nhận dạng chữ viết tay vấn đề trở nên phức tạp nhiều so với tốn nhận dạng chữ in thơng thường vấn đề sau đây: Với chữ viết tay khơng thể có khái niệm font chữ, kích cỡ chữ Các kí tự văn chữ viết tay thường có kích thước khác Thậm chí, kí tự văn người viết nhiều có độ rộng, hẹp, cao, thấp khác nhau, Với người viết khác chữ viết có độ nghiêng khác (chữ nghiêng nhiều/ít, chữ nghiêng trái/phải ) Các kí tự từ văn chữ viết tay hầu hết người viết thường bị dính khó xác định phân cách chúng Các văn chữ viết tay cịn có trường hợp dính dịng (dịng bị dính chồng lên dịng trên) Trong năm gần đây, mơ hình mạng Neuron theo hướng học sâu cho thấy kết tốt nhiều tốn khác nhau, có nhận dạng chữ Xuất phát từ yêu cầu thực tế, cần có nghiên cứu vấn đề Chính học viên chọn đề tài “Nghiên cứu mơ hình học sâu (deep-learning) ứng dụng nhận dạng chữ viết tay” làm luận văn tốt nghiệp với mong muốn phần áp dụng vào toán thực tế Bài toán đặt phải giải yêu cầu sau: Nhận dạng ký tự từ ảnh đầu vào Tiến hành nhận dạng kí tự đơn lẻ sử dụng mạng Neuron nhân tạo theo phương pháp học sâu Restricted Boltzmann machine (RBM) Đánh giá kết so sánh với mơ hình mạng neuron Với u cầu đặt trên, cấu trúc luận văn bao gồm nội dung sau đây: Chương 1: Tổng quan đề tài Giới thiệu toán nhận dạng chữ viết tay, tình hình nghiên cứu ngồi nước, quy trình chung để giải tốn phương pháp điển hình việc huấn luyện nhận dạng, phạm vi đề tài Chương 2: Mơ hình mạng neuron mơ hình học sâu Trình bày sở lý thuyết mơ hình neuron huấn luyện toán nhận dạng chữ viết tay Cơ sở lý thuyết mơ hình học sâu: Hopfield network, Boltzmann Machines, Restricted Boltzmann Machines thuật toán lan truyền ngược Chương 3: Kết thực nghiệm đánh giá Trình bày kết thực nghiệm hai mơ hình mạng neuron mơ hình học sâu, đưa kết đánh giá nhận dạng chữ viết tay mơ hình mạng neuron mơ hình học sâu CHƯƠNG 1: GIỚI THIỆU ĐỀ TI 1.1.Giới thiệu toán nhận dạng Nhận dạng chữ viết tay vấn đề thách thức lớn nhà nghiên cứu Bài toàn chưa thể giải trọn vẹn hồn tồn phụ thuộc vào người viết biến đổi đa dạng cách viết trạng thái sức khỏe, tinh thần người viết Trong viết này, hướng dẫn bạn xây dựng mơ hình nhận diện chữ viết tập liệu MNIST google colab MNIST giới thiệu năm 1998 Yann Lecun cộng nhằm đánh giá mơ hình phân lớp MNIST tập liệu chữ viết từ đến Trong đó, hình ảnh đen trắng chứa số viết tay có kích thước 28x28 Bộ dataset vô đồ sộ với khoảng 60k data training 10k data test sử dụng phổ biến thuật toán nhận dạng ảnh 1.1.1 Các giai đoạn phát triển Giai đoạn (1900 - 1980) Nhận dạng chữ biết đến từ năm 1900, nhà khoa học người Nga Alan Turing (1912-1954) phát triển phương tiện trợ giúp cho người mù Các sản phẩm nhận dạng chữ thương mại có từ năm1950, máy tính lần giới thiệu tính nhập lưu trữ liệu hai chiều bút viết bảng cảm ứng Công nghệ cho phép nhà nghiên cứu làm việc tốn nhận dạng chữ viết tay online Mơ hình nhận dạng chữ viết đề xuất từ năm 1951 phát minh M Sheppard gọi GISMO, robot đọc-viết Năm 1954, máy nhận dạng chữ phát triển J Rainbow dùng để đọc chữ in hoa chậm Năm 1967, Cơng ty IBM thương mại hóa hệ thống nhận dạng chữ Giai đoạn (1980 - 1990) Với phát triển thiết bị phần cứng máy tính thiết bị thu nhận liệu, phương pháp luận nhận dạng phát triển giai đoạn trước có mơi trường lý tưởng để triển khai ứng dụng nhận dạng chữ Các hướng tiếp cận theo cấu trúc đối sánh áp dụng nhiều hệ thống nhận dạng chữ Trong giai đoạn này, hướng nghiên cứu tập trung vào kỹ thuật nhận dạng hình dáng chưa áp dụng cho thông tin ngữ nghĩa Điều dẫn đến hạn chế hiệu suất nhận dạng, không hiệu nhiều ứng dụng thực tế Giai đoạn (1990 - nay) Các hệ thống nhận dạng thời gian thực trọng giai đoạn Các kỹ thuật nhận dạng kết hợp với phương pháp luận lĩnh vực học máy (Machine Learning) áp dụng hiệu Một số công cụ học máy hiệu mạng Neuron, mơ hình Markov ẩn, SVM (Support Vector Machines) xử lý ngôn ngữ tự nhiên 1.2.Các bước xử lý cho toán nhận dạng hoàn chỉnh Nhận dạng chữ viết tay thường bao gồm năm giai đoạn: tiền xử lý (preprocessing), tách chữ (segmentation), trích chọn đặc trưng (representation), huấn luyện nhận dạng (training and recognition), hậu xử lý (postprocessing) Hình 1- 1: Các bước nhận dạng chữ viết tay Tiền xử lý (preprocessing): giảm nhiễu cho lỗi trình quét ảnh, hoạt động viết người, chuẩn hóa liệu nén liệu Tách chữ (segmentation): chia nhỏ văn thành thành phần nhỏ hơn, tách từ câu hay kí tự từ Trích trọn đặc trưng (representation): giai đoạn đóng vai trị quan trọng nhận dạng chữ viết tay Để tránh phức tạp chữ viết tay tăng cường độ xác, ta cần phải biểu diễn thông tin chữ viết dạng đặc biệt đọng hơn, rút trích đặc điểm riêng nhằm phân biệt ký tự khác Trong luận văn này, nghiên cứu tìm hiểu mơ hình học máy theo chiều sâu, mơ hình huấn luyện sử dụng liệu không cần sử dụng đặc trưng ảnh đầu vào nên bỏ qua bước trích rút đặc trưng Huấn luyện nhận dạng (training and recognition): phương pháp điển hình so trùng mẫu, dùng thống kê, mạng neuron, mơ hình markov ẩn, trí tuệ nhân tạo hay dùng phương pháp kết hợp phương pháp trên.Trong luận văn này, sử dụng mơ hình học máy theo chiều sâu (deep learning) để huấn luyện nhận dạng, nội dung trình bày chương sau luận văn Hậu xử lý (postprocessing): sử dụng thông tin ngữ cảnh để giúp tăng cường độ xác, dùng từ điển liệu Ban đầu văn chữ viết tay scan đưa vào hệ thống nhận dạng, với trình tiền xử lý ảnh ảnh mà hệ thống yêu cầu để huấn luyện nhận dạng nhiệm vụ tính tốn, thay đổi tham số cho đầu thực tế mạng gần với đầu mong muốn Với phương pháp này, thuật toán huấn luyện mạng thực với tập mẫu học có D{x ,t } i i xi (vector p chiều R) dạng vector đầu vào mạng ti(vector q chiều R) vector đầu mong muốn tương với ứng xi Nhiệm vụ thuật toán phải thiết lập cách tính tốn để cập nhật tham số mạng cho với đầu vào cho trước sai số đầu thực tế mạng đầu mong muốn nhỏ Một thuật tốn điển hình phương pháp học có giám sát là: thuật tốn LMS (Least Mean Square error), thuật toán lan truyền ngược sai số (Back Propagation),… Với toán nhận dạng, chất phương pháp học có giám sát học để phân lớp đầu vào tập mẫu huấn luyện, số lớp cần phân loại biết trước Nhiệm vụ việc học xác định (thay đổi cập nhật) tham số mạng để đầu vào phân vào lớp chứa Học khơng có giám sát: phương pháp học để thực công việc mà khơng cần giám sát Với cách tiếp cận này, thuật toán huấn luyện mạng thực với tạo mẫu học có D dạng {xi}với xi (vector p chiều R) vector đầu vào mạng Nhiệm vụ thuật toán phải phân chia tập liệu D thành nhóm con, nhóm chứa tập vector đầu vào có đặc trưng giống Việc phân nhóm cho phép tạo lớp phân loại cách tự động số lớp trước Trong thực tế, phương pháp học có giám sát ứng dụng nhiều phương pháp học khơng có giám sát Kiểu huấn luyện khơng có giám sát thường khơng thích hợp với tốn phân loại mẫu khó đảm bảo chắn có tương ứng lớp tạo mộ cách tự động với lớp liệu thực Phương pháp tỏ thích hợp với tốn mơ hình hóa liệu 2.2 Mơ hình học sâu 2.2.1 Mạng nhiều tầng truyền thẳng (MLP) Mơ hình mạng neuron sử dụng rộng rãi mơ hình mạng nhiều tầng truyền thẳng (MLP: Multi Layer Perceptron) Một mạng MLP tổng qt mạng có n (n≥2) tầng (thơng thường tầng đầu vào khơng tính đến): gồm tầng đầu (tầng thứ n) (n-1) tầng ẩn Hinh 2- 9: Mạng MLP tổng quát Kiến trúc mạng MLP tổng qt mơ tả sau: Đầu vào vector x2 , xp không gian p chiều, x1 , đầu , vector y2 , yq trong không gian q chiều Đối với y1 , tốn , 31 phân loại, p kích thước mẫu đầu vào, q số lớp cần phân loại Xét ví dụ tốn nhận dạng chữ số: với mẫu ta lưu tọa độ (x,y) điểm chữ số đó, nhiệm vụ mạng phân loại mẫu vào 10 lớp tương ứng với 10 chữ số 0, 1, …, Khi p kích thước mẫu x = 16; q số lớp 10 Mỗi neuron thuộc tầng sau liên kết với tất neuron thuộc tầng liền trước Đầu neuron tầng trước đầu vào neuron thuộc tầng liền sau Hoạt động mạng MLP sau: tầng đầu vào neuron nhận tín hiệu vào xử lý (tính tổng trọng số, gửi tới hàm truyền) cho kết (là kết hàm truyền); kết truyền tới neuron thuộc tầng ẩn thứ nhất; neuron tiếp nhận tín hiệu đầu vào, xử lý gửi kết đến tầng ẩn thứ 2;…; trình tiếp tục neuron thuộc tầng cho kết Một số kết chứng minh: Bất kì hàm Boolean biểu diễn mạng MLP tầng neuron sử dụng hàm truyền sigmoid Tất hàm liên tục xấp xỉ mạng MLP tầng sử dụng hàm truyền sigmoid cho neuron tầng ẩn hàm truyền tuyến tính cho neuron tầng với sai số nhỏ tùy ý Mọi hàm xấp xỉ mạng MLP tầng sử dụng hàm truyền sigmoid cho neuron tầng ẩn hàm truyền tuyến tính cho neuron tầng a Xác định số neuron tầng ẩn Câu hỏi chọn số lượng noron tầng ẩn mạng MLP khó, phụ thuộc vào toán cụ thể vào kinh nghiệm nhà 32 thiết kế mạng Nếu tập liệu huấn luyện chia thành nhóm với đặc tính tương tự số lượng nhóm sử dụng để chọn số lượng neuron ẩn Trong trường hợp liệu huấn luyện nằm rải rác khơng chứa đặc tính chung, số lượng kết nối gần với số lượng mẫu huấn luyện để mạng hội tụ Có nhiều đề nghị cho việc chọn số lượng neuron tầng ẩn h mạng MLP Chẳng hạn h phải thỏa mãn h>(p-1)/(n+2), p số lượng mẫu huấn luyện n số lượng đầu vào mạng Càng nhiều nút ẩn mạng, nhiều đặc tính liệu huấn luyện mạng nắm bắt, thời gian học tăng Một kinh nghiệm khác cho việc chọn số lượng nút ẩn số lượng nút ẩn với số tối ưu cụm mờ (fuzzy clusters) Phát biểu chứng minh thực nghiệm Việc chọn số tầng ẩn nhiệm vụ khó Rất nhiều tốn địi hỏi nhiều tầng ẩn để giải tốt Để tìm mơ hình mạng neuron tốt nhất, Ishikawa and Moriyama (1995) sử dụng học cấu trúc có quên (structural leanrning with forgetting), tức thời gian học cắt bỏ liên kết có trọng số nhỏ Sau huấn luyện, noron có đóng góp vào giải tốn giữ lại, chúng tạo nên xương cho mơ hình mạng neuron b Khởi tạo trọng Trọng thường khởi tạo phương pháp thử sai, mang tính chất kinh nghiệm phụ thuộc vào toán Việc định nghĩ trọng tốt không đơn giản Một số quy tắc khởi tạo trọng: 33 Khởi tạo trọng số cho mạng neuron thu cân (với đầu vào ngẫu nhiên sai số lan truyền ngược cho ma trận trọng số xấp xỉ nhau): W1 / W2 / W3 / W3 W1 W2 34 Nếu mạng neuron khơng cân q trình thay đổi trọng số số ma trận nhanh số ma trận khác lại chậm, chí khơng đáng kể Do để ma trận đạt tới giá trị tối ưu nhiều thời gian Tạo trọng cho giá trị kết xuất nút có giá trị trung gian (0.5 hàm truyền hàm Sigmoid) Rõ ràng ta khơng biết giá trị kết xuất giá trị hợp lý Điều giúp ta tránh giá trị thái 2.3 Kết luận chương Trong chương trình bày chủ yếu mơ hình Mạng nhiều tầng truyền thẳng (MLP) mơ hình học sâu (mơ hình mạng neuron nhân tạo theo phương pháp học sâu) Ngoài ra, chương cịn trình bày số lý thuyết mạng neuron nhân tạo số đặc trung Bên cạnh đó, chương trình bày thêm thuật toán lan truyền ngược ứng dụng trình huấn luyện mạng mơ hình học sâu 35 CHƯƠNG 3: CI ĐẶT CHƯƠNG TRÌNH THỬ NGHIỆM 3.1 Dữ liệu thực nghiệm Ở đây, chúng em tiến hành nhận dạng ký tự với liệu thư viện MNIST: Cơ sở liệu MNIST chứa 60.000 hình ảnh đào tạo 10.000 hình ảnh thử nghiệm Một nửa tập huấn luyện nửa tập kiểm tra lấy từ tập liệu huấn luyện NIST, nửa lại tập huấn luyện nửa lại tập kiểm tra lấy từ tập liệu thử nghiệm NIST Những người tạo ban đầu sở liệu lưu giữ danh sách số phương pháp thử nghiệm Trong báo gốc, họ sử dụng máy vector hỗ trợ để có tỷ lệ lỗi 0,8% Một tập liệu mở rộng tương tự MNIST có tên EMNIST xuất vào năm 2017, bao gồm 240.000 hình ảnh đào tạo 40.000 hình ảnh thử nghiệm ký tự chữ số viết tay 3.2 Huấn luyện mơ hình kết thực nghiệm với mơ hình MLP 3.2.1 Mơ hình huấn luyện 36 Hình 3- 1: Mơ hình huấn luyện mạng (MLP) Trong mơ hình MLP học viên sử dụng hai lớp ẩn để huấn luyện với thông số sau: Lớp đầu vào (Visible Units): Với 784 nút đầu vào, nút đầu vào đại diện cho điểm ảnh, với giá trị mức xám điểm ảnh (0 255) Các lớp ẩn (Hidden Units): Tại lớp học viên sử dụng lớp ẩn với lớp tương ứng với 800, 800 nút Lớp đầu (Visible Units): Gồm có 10 nút, nút tương ứng với giá trị chữ (A, B, C, D, H, K, L, M, N, P) 3.2.2 Các bước thực nghiệm 37 38 3.2.3 Kết thực nghiệm 39 40 KẾT LUẬN CHUNG Trong trình thực tập lớn môn nhập môn học máy, chúng em biết thêm chương trình ứng dụng, nắm rõ phần học máy Từ chúng em cố gắng áp dụng kiến thức học vào làm tập để hoàn thiện sản phẩm Trong tập lớn chúng em sử dụng thuật toán NEUTRAL NETWORK đê nhận dạng chữ viết tay Vì thời gian ngắn nên tập lớn chúng em nhiều thiếu sót Chúng em hy vọng có góp ý thầy cô, để tập lớn chúng em hoàn thiện Chúng em xin chân thành cảm ơn.! TI LIỆU THAM KHẢO Tiếng Việt [1] Mai Văn Thủy (2015) Nghiên cứu mơ hình thống kê học sâu ứng dụng nhận dạng chữ viết tay hạn chế Luận văn thạc sỹ, Đại học Công nghệ thông tin Truyền thông [2] Lê Minh Hoàng, phương pháp nhận dạng văn tiếng Việt Luận văn thạc sỹ, Đại học Quốc gia Hà Nội [3] Đỗ Thanh Nghị, Phạm Nguyên Khang (2013) Nhận dạng kí tự số viết tay giải thuật máy học Tạp chí khoa học Trường Đại học Cần Thơ [4] Phạm Thị Hoàng Nhung, Hà Quang Thụy (2007) Nghiên cứu, sử dụng mạng neuron nhân tạo dự báo lưu lượng nước đến hồ Hồ Bình trước 10 ngày Hội thảo Quốc gia Một số vấn đề chọn lọc Công nghệ thông tin Truyền thông, lần thứ X, Đại Lải, Vĩnh Phúc, 9/2007 Tiếng Anh [5] Baret O and Simon J.C (1992) Cursiver Words Recognition From Pixels to Fuatures III Frontiers in Handwriting Recognition, tr.1-2 [6] Behnk S., Pfister M and Rojas R., (2000) Recognition of Handwitten ZIP Codes in a Real-World Non-Standard-Letter Sorting System Kluwer Academic Publishers, tr.95-115 [7] Fujasaki T., Beigi H.S.M, Tappert C.C, Ukelson M and Wolf C.G (1992) Online recognition of unconstrained handprinting: a strokebased system and it evaluation From Pixels to Fuatures III Frontiers in Handwriting Recognition, tr.1-3 [8] Hoai Vu Pham (2013), Hopfield networks and Boltzmann Machines Byhttp://phvu.net/ [9] Hoai Vu Pham (2013), Model definition and training of RBMs By http://phvu.net/ [10] Hoai Vu Pham (2013), Contrastive Divergence By http://phvu.net/ [11] LISA lab Deep Learning 0.1 documentation By http://www.deeplearning.net/tutorial/contents.html [12] Keith Kelleher (2013).Multilayer Perceptron in MATLAB / Octave By http://3options.net/brainannex/multilayer-perceptron-in-matlab-octave/ [13] Michael Nielsen (2014).Using neural nets to recognize handwritten digits By http://neuralnetworksanddeeplearning.com/chap1.html [14] Hesham Eraqi (Updated 01 Mar 2016) MLP Neural Network with Backpropagation By http://www.mathworks.com/matlabcentral/fileexchange/54076mlp- neural-network-with-backpropagation ... mơ hình mạng neuron mơ hình học sâu, đưa kết đánh giá nhận dạng chữ viết tay mơ hình mạng neuron mơ hình học sâu CHƯƠNG 1: GIỚI THIỆU ĐỀ TI 1.1.Giới thiệu toán nhận dạng Nhận dạng chữ viết tay. .. tế, cần có nghiên cứu vấn đề Chính học viên chọn đề tài ? ?Nghiên cứu mơ hình học sâu (deep- learning) ứng dụng nhận dạng chữ viết tay? ?? làm luận văn tốt nghiệp với mong muốn phần áp dụng vào toán... ứng dụng nhận dạng chữ viết tay? ?? thực với mục đích giải lớp toán nhận dạng chữ viết tay mà cụ thể nhận dạng kí tự đơn lẻ chữ từ thư viện MNIST Từ tạo sở để xây dựng tiếp mơ hình nhận dạng chữ tiếng